-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug?]: Error: EXDEV: cross-device link not permitted #6457
Comments
Looks like a duplicate of #6497? See #6497 (comment) |
Yes, the source of problem is the same - hardlinks. But we should not use links between temporary folder and any other at all, cause temporary partition may has different file system by design. |
Hi! 👋 It seems like this issue as been marked as probably resolved, or missing important information blocking its progression. As a result, it'll be closed in a few days unless a maintainer explicitly vouches for it. |
The problem is you are explicitly requesting two conflicting constraints for Yarn:
Do we ignore one of them? If so, which one? If we ignore 1, all If we ignore 2, then where do we install the package? In more general terms, the problem is using an install strategy that involves hardlinking to a global store system-wide, when projects on that system are spread across multiple devices. FWIW Maybe we can add a config for users to opt into that behavior? cc @frg2089 |
@clemyan, you are absolutely right. This part from pnpm FAQ tells the same: "The package store should be on the same drive and filesystem as installations, otherwise packages will be copied, not linked. This is due to a limitation in how hard linking works, in that a file on one filesystem cannot address a location in another." The current problem with yarn - trying to use link without checking for error condition. The right behavior - break installation process from the start with warning message that your project and package storage are on different devices/FS and could not be linked. And the user should decide for himself - move project or storage location. But I want to return to an important point once again. When a user choose another drive for both places, we should NOT use link mechanic from Temp folder to outside, cause it is 100% that temporary folder on another drive (or filesystem volume). |
Self-service
Describe the bug
Any
yarn dlx
command ends with error on Linux because it tries to link tmp file system and local one.To reproduce
yarn dlx @yarnpkg/sdks vscode (for example)
Result:
Environment
Additional context
It is really simple error, read how-to-fix-nodejs-error-exdev for workaround.
The text was updated successfully, but these errors were encountered: