Open andersk opened 1 year ago
I'd like to +1 on this issue.
Just wanted to add, this happens on M2 chips (Mac Mini) as well.
Same issue here (M1, docker, pnpm)
Could be related to https://github.com/docker/for-mac/issues/7059 , couldn't it?
Background:
As soon as I avoid having the .pnpm-store
directory on a mounted path, it works (but unfortunately loses the ability to save space by hardlinking.)
I used store-dir=/tmp/.pnpm-store
config option and it "workarounds" the issue. (With the drawback of not being able to hardlink.)
Expected behavior
pnpm should run successfully in a shared volume.
Actual behavior
pnpm works if the file sharing implementation is set to osxfs (Legacy), but it fails most of the time if the file sharing implementation is set to either gRPC FUSE or VirtioFS, with an error that looks like
or
even though that file definitely exists (it had just been put there by pnpm itself, and an
strace
log confirms that it was created well before this spurious ENOENT was returned).Information
There are many reports of this on the pnpm issue tracker, such as pnpm/pnpm#5803. I found a simple and quick reproduction recipe, given below.
Output of
/Applications/Docker.app/Contents/MacOS/com.docker.diagnose check
Steps to reproduce the behavior
This is reproducible quickly and pretty reliably (89 out of 100 runs with gRPC FUSE, 68 out of 100 runs with VirtioFS, 0 out of 100 runs with osxfs) by running the following command in an empty directory.
If you want to reproduce multiple times, delete the
.pnpm-store
andnode_modules
directories between runs.