Skip to content

Windows fs symlink TypeError on Buffer target value #34514

Closed
@AlexanderOMara

Description

@AlexanderOMara
  • Version: 14.5.0+
  • Platform: Windows 10 x64
  • Subsystem: fs

What steps will reproduce the bug?

On Windows:

const fs = require('fs');
fs.symlinkSync(Buffer.from('target'), 'link');

How often does it reproduce? Is there a required condition?

Always happens on Windows since 14.5.0, it may be necessary to enable symlink support on Windows (I'm not 100% sure how that all works). Does not happen on Linux or macOS.

What is the expected behavior?

No error, and the symlink should be created. Buffer is listed as a valid target type.

What do you see instead?

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received an instance of Buffer

internal/validators.js:121
    throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
    ^

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received an instance of Buffer
    at validateString (internal/validators.js:121:11)
    at Object.isAbsolute (path.js:353:5)
    at preprocessSymlinkDestination (internal/fs/utils.js:345:18)
    at Object.symlinkSync (fs.js:1118:19)
    at Object.<anonymous> (C:\Users\travis\build\AlexanderOMara\issue-node-symlink-buffer-windows\main.js:5:4)
    at Module._compile (internal/modules/cjs/loader.js:1236:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1257:10)
    at Module.load (internal/modules/cjs/loader.js:1085:32)
    at Function.Module._load (internal/modules/cjs/loader.js:950:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12) {
  code: 'ERR_INVALID_ARG_TYPE'
}

Additional information

I created a test repo which is tested via Travis CI.

On a side-note, the path argument can be a Buffer, it's just the target argument with the issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    confirmed-bugIssues with confirmed bugs.fsIssues and PRs related to the fs subsystem / file system.windowsIssues and PRs related to the Windows platform.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions