Skip to content
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

Case-insensitivity issue running yarn in docker on a volume bind-mounted from a Mac "EEXIST: file already exists" #6947

Open
twitchard opened this issue Jan 22, 2019 · 0 comments
Assignees
Labels

Comments

@twitchard
Copy link

twitchard commented Jan 22, 2019

What is the current behavior?

I was running yarn in a bind-mounted directory from Mac OS X, and getting an error message (see this repo for the package.json, etc)

EEXIST: file already exists, mkdir '/test/node_modules/typescript/lib/zh-TW

I looked inside the filesystem and the directory was indeed there, but lower-cased.

If I bind-mount the yarn cache as well, however, the issue stops. (That's a good enough solution to my problem, and probably what I should be doing anyway.)
I think the cause of this relates somehow to a problem with yarn handling the situation where the yarn cache is located on a case-sensitive filesystem, but the destination node_modules is on a case-insensitive filesystem. But I can't believe nobody's ever hit this before -- there must also be something unique about this particular set of dependencies and the cases of the filenames.

If the current behavior is a bug, please provide the steps to reproduce.

Here they are:
https://github.com/twitchard/case-insensitive-yarn-failure

What is the expected behavior?

  • Ideally Yarn would find some way to succeed.
  • Failing that, Yarn could detect this situation and emit a useful warning with a suggested course of action?
  • Failing that, this issue report is here, and hopefully the SEO is good enough for the next person who hits this to understand this problem faster than I did.

Please mention your node.js, yarn and operating system version.

node: v8.14.0

Host OS: macOS High Sierra 10.13.6

Container OS: Alpine latest

Yarn: Tested on both v1.6.0 and v1.13.0

@ghost ghost assigned arcanis Jan 22, 2019
@ghost ghost added the triaged label Jan 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants