Skip to content

[BUG] fallback behaviour when hard links aren't supported #5951

Open
@jessicah

Description

@jessicah

Is there an existing issue for this?

  • I have searched the existing issues

This issue exists in the latest npm version

  • I am using the latest npm

Current Behavior

Running make test-only for nodejs, npm fails with EPERM, apparently from trying to create a hard link, but the file system has no support for hard links.

Log file: https://gist.github.com/jessicah/32af57e465f6f4a340f79117863f756e

Expected Behavior

Fallback behaviour to use symlinks for filesystems without hard links. Not sure whether this should be here in npm, or if a workaround should be done in nodejs itself.

Steps To Reproduce

For building nodejs on Haiku:

pkgman install devel:libcares devel:libexecinfo devel:libnghttp2 devel:libssl devel:libuv devel:libbrotli cmd:ninja
./configure --with-intl=none --dest-os=haiku --without-npm --verbose --prefix=~/config/non-packaged --shared-cares --shared-libuv --shared-nghttp2 --shared-openssl --shared-zlib --shared-brotli
make
make test-only

Example of ln failing:

ln foo bar
# ln: failed to create hard link 'bar' => 'foo': Operation not supported (EPERM)

Environment

  • npm: 8.19.2
  • Node.js: 16.18.1 + patches
  • OS Name: Haiku x86_64 (nightly)
  • System Model Name: Virtual Box
  • npm config: N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    Bugthing that needs fixingNeeds Triageneeds review for next stepsRelease 8.xwork is associated with a specific npm 8 release

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions