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

Invalid bin links in module directories since v1.11.0 on Windows #6615

Open
j-verse opened this issue Nov 1, 2018 · 4 comments
Open

Invalid bin links in module directories since v1.11.0 on Windows #6615

j-verse opened this issue Nov 1, 2018 · 4 comments
Assignees
Labels

Comments

@j-verse
Copy link

j-verse commented Nov 1, 2018

Do you want to request a feature or report a bug?
bug

What is the current behavior?
Since v1.11.0 Yarn now also creates bin links in each module directory. This was introduced in the Plug 'n Play feature (#6382) I believe. On windows these specific bin links are currently broken. They are junction style links from file to file, which is invalid according to the Microsoft link documentation. In my case this doesn't directly break Yarns functionality because I'm not using the Plug 'n Play feature that introduced these files, however it does most likely break that functionality on Windows. It does however also break other tools, because invalid filesystem entries are being created which are unreadable.

If the current behavior is a bug, please provide the steps to reproduce.
Just executing 'yarn' to fetch modules will do the trick on Windows. My belief is that the code added to 'base-fetcher.js' in the Plug 'n Play feature causes the bad links on Windows. It seems like it doesn't take into account Yarn is being ran on Windows like the 'linkBin' function in 'package-linker.js' does. I'm however not into the Yarn source enough to attempt a fix myself.

What is the expected behavior?
Yarn should probably create the links in question using 'cmdShim' like 'linkBin' in 'package-linker.js' does instead of the junction style links which are invalid on Windows.

Please mention your node.js, yarn and operating system version.
Node: v10.13.0, Yarn v1.12.1, Windows 10

@ghost ghost assigned arcanis Nov 1, 2018
@ghost ghost added the triaged label Nov 1, 2018
@omril1
Copy link

omril1 commented Nov 1, 2018

Can confirm, this is currently breaking our build system because Gradle cannot read the paths with these broken links

@sergeykad
Copy link

Duplicate of #6585 ?

trustin added a commit to trustin/armeria that referenced this issue Nov 6, 2018
Motivation:

Yarn 1.12.1 creates a broken symlink:

- yarnpkg/yarn#6585
- yarnpkg/yarn#6615

Gradle fails the build on Windows when it encounters a broken symlimnk:

- gradle/gradle#1365

Modifications:

- Delete broken symlinks after running `:docs-client:yarn`

Result:

- Gradle is happy. Build is green.
trustin added a commit to trustin/armeria that referenced this issue Nov 6, 2018
Motivation:

Yarn 1.12.1 creates a broken symlink:

- yarnpkg/yarn#6585
- yarnpkg/yarn#6615

Gradle fails the build on Windows when it encounters a broken symlimnk:

- gradle/gradle#1365

Modifications:

- Delete broken symlinks after running `:docs-client:yarn`

Result:

- Gradle is happy. Build is green.
trustin added a commit to trustin/armeria that referenced this issue Nov 6, 2018
Motivation:

Yarn 1.12.1 creates a broken symlink:

- yarnpkg/yarn#6585
- yarnpkg/yarn#6615

Gradle fails the build on Windows when it encounters a broken symlimnk:

- gradle/gradle#1365

Modifications:

- Delete broken symlinks after running `:docs-client:yarn`

Result:

- Gradle is happy. Build is green.
trustin added a commit to trustin/armeria that referenced this issue Nov 6, 2018
Motivation:

Yarn 1.12.1 creates a broken symlink:

- yarnpkg/yarn#6585
- yarnpkg/yarn#6615

Gradle fails the build on Windows when it encounters a broken symlimnk:

- gradle/gradle#1365

Modifications:

- Delete broken symlinks after running `:docs-client:yarn`

Result:

- Gradle is happy. Build is green.
trustin added a commit to trustin/armeria that referenced this issue Nov 6, 2018
Motivation:

Yarn 1.12.1 creates a broken symlink:

- yarnpkg/yarn#6585
- yarnpkg/yarn#6615

Gradle fails the build on Windows when it encounters a broken symlimnk:

- gradle/gradle#1365

Modifications:

- Delete broken symlinks after running `:docs-client:yarn`
- Miscellaneous:
  - Use `dependencies.yml` for the node plugin

Result:

- Gradle is happy. Build is green.
trustin added a commit to line/armeria that referenced this issue Nov 6, 2018
Motivation:

Yarn 1.12.1 creates a broken symlink:

- yarnpkg/yarn#6585
- yarnpkg/yarn#6615

Gradle fails the build on Windows when it encounters a broken symlimnk:

- gradle/gradle#1365

Modifications:

- Delete broken symlinks after running `:docs-client:yarn`
- Miscellaneous:
  - Use `dependencies.yml` for the node plugin

Result:

- Gradle is happy. Build is green.
@implico
Copy link

implico commented Nov 6, 2018

Another case: breaks docker-compose using volumes on Windows:

NotADirectoryError: [WinError 267] The directory name is invalid: ''...\\node_modules\\stylelint\\.bin\\stylelint'

When a fix can be expected?

@arcanis
Copy link
Member

arcanis commented Nov 6, 2018

It's already fixed on master, I plan to make the release tomorrow. I've only got one more PR to check before being able to do the branch cut.

fmguerreiro pushed a commit to fmguerreiro/armeria that referenced this issue Sep 19, 2020
Motivation:

Yarn 1.12.1 creates a broken symlink:

- yarnpkg/yarn#6585
- yarnpkg/yarn#6615

Gradle fails the build on Windows when it encounters a broken symlimnk:

- gradle/gradle#1365

Modifications:

- Delete broken symlinks after running `:docs-client:yarn`
- Miscellaneous:
  - Use `dependencies.yml` for the node plugin

Result:

- Gradle is happy. Build is green.
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

5 participants