-
-
Notifications
You must be signed in to change notification settings - Fork 934
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
pnpm install ENAMETOOLONG #2605
Comments
I tried other versions to be sure:
|
We started to use a content-addressable storage in v5. So the file names in the store are longer. They are SHA512 converted to HEX. This file is even a bit longer because it has the Can you create a file called |
Looks like you have eCryptfs @zkochan hex is really long. May be consider to use base64/base36/base32? |
Yes, I can create a file in this directory with a name as long as 143 characters:
If I add one more character, I have a file name too long. My file system is an EcryptFS over EXT4. The maximum recommended file name length for EcryptFS is 140 characters, but actual length can go up to 143: https://unix.stackexchange.com/questions/32795/what-is-the-maximum-allowed-filename-and-folder-size-with-ecryptfs. EDIT: sorry @alexeyten, I didn't see your post which was saying rather the same thing as this one… |
ok, we can reduce this temp file name length. The temp file name can be actually something short, like @alexeyten I like your idea. We can't use base64 because of case insensitive filesystems. But we can probably use base36. But it will be a breaking change... I guess it is a bit too soon to release v6 |
🚢 5.1.4 |
@zkochan It seems back with pnpm 8.6.9:
If I rollback to 7.33.5 with |
actually, this one is related to the store. It is caused by this change: #6817 Previously temp files were shorter, now we append so the temp file would be but the target file would be the same also, in a next major version we could probably make the store path smaller by removing the "files" subdirectory. |
|
pnpm version:
5.1.2
Code to reproduce the issue:
I am working on the intl-ts project: https://github.com/slune-org/intl-ts
The project is still virgin and I try to install dependencies:
It fails with an
ENAMETOOLONG
error.Expected behavior:
Install with no error.
Actual behavior:
$ pnpm install Lockfile is up-to-date, resolution step is skipped Packages: +596 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ERROR ENAMETOOLONG: name too long, open '/home/stephane/.pnpm-store/v3/files/24/886a9c26ac23dc83f92b2692ab870714d212e65d417e41b909d2d9573ba6e41043ef3288fe40639b9686976fe182f854ce5cea296289858f809fe72502e9ef-index.json.3493966179' Resolving: total 596, reused 0, downloaded 0
Additional information:
node -v
prints: v14.2.0The text was updated successfully, but these errors were encountered: