Open rally25rs opened 1 year ago
Oh interesting - perhaps we should set --mutex network
every time, indeed 🤔
I think I had wondered about that as well at some point in the past, but then wasn't sure if that would always be available... specifically when running in docker. Not sure if the current user would be able to open network ports.
Maybe using --mutex file
with a path to the cwd
of the yarn 2 command?
The yarn 1 instances shouldn’t even be aware of each other, right? So how could they be touching the same files?
The cache is shared by all instances running yarn install
. And unlike Yarn 2+, it's not concurrent-safe by default.
Any plans to move forward with the fix in #5373 ?
Is there any chance there is a workaround for this? I think potentially this issue is breaking my build.
Self-service
Describe the bug
There seems to be an issue with yarn finding multiple GitHub dependencies that use yarn classic. It tries to
yarn install
them in parallel, but does not pass anymutex
option toyarn install
so it ends up running into an error if they conflict on cache usage.I believe this is the code that runs the parallel installs: https://github.com/yarnpkg/berry/blob/%40yarnpkg/cli/3.5.0/packages/yarnpkg-core/sources/scriptUtils.ts#L290
To reproduce
Would need to have a yarn modern repo that has a dependency on 2 or more github URL dependencies, each of which are yarn classic repos. Then run a
yarn install
.(my only good example is a set of private repos)
Environment
Additional context
No response