Do you want to request a _feature_ or report a _bug_?
Bug/NPM compatibility issue
What is the current behavior?
Running yarn link
inside a project does not link binaries globally. In comparison, npm link does.
If the current behavior is a bug, please provide the steps to reproduce.
Project in question: https://github.com/TryGhost/Ghost-CLI
cd ghost-cli
yarn
yarn link
ghost --version
What is the expected behavior?
The expected behavior is for yarn to link the binaries globally for testing purposes.
For comparison, the npm steps:
npm install
npm link
ghost --version
1.0.0-alpha.3
Please mention your node.js, yarn and operating system version.
yarn --version
: 0.15.1
Software:
System Software Overview:
System Version: macOS 10.12 (16A323)
Kernel Version: Darwin 16.0.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Computer Name: acburdine-mbp
User Name: Austin Burdine (acburdine)
Secure Virtual Memory: Enabled
System Integrity Protection: Enabled
Time since boot: 3 days 3:34
As an additional note - this isn't due to yarn global bin
not being in the path. doing an ls on my global bin doesn't show the binary.
Just to add more notes, this also happens on Linux.
$ uname -a
Linux kubuntu 4.4.0-42-generic #62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ sudo yarn global add gulp
yarn global v0.15.1
warning No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
warning [email protected]: The engine "rhino" appears to be invalid.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed [email protected] with binaries:
- gulp
Done in 0.96s.
$ yarn global bin
/usr/bin
$ ls -la /usr/bin | grep gulp | wc -l
0
Same issue here:
>yarn link typescript
does not work. However,
>npm link typescript
works correctly.
Please use the 馃憤 reaction instead of commenting same problem. It makes it much easier to see at a glance how many people are affected, and keeps the thread smaller
yarn global bin indicate wrong path
yarn global bin
: /usr/local/Cellar/node/6.8.1/bin
the default PATH
not include this path
npm will create a soft link to /usr/local/bin
Duplicate of #1585
Closing because #1585 was closed.
@acburdine The way you guys close issues is pretty hostile. That issue was closed without a fix, and then you close this issue because the other was closed. This behavior is still present, this issue should remain open until there is some kind of resolution.
@tyrsius There was a fix for the other issue, if you look it you can see that it was closed by a commit which was released in 0.19.0.
I'm not a contributor to Yarn really, I opened the issue because I discovered the behavior, and while technically the other issue was a duplicate of my issue, I don't really care as long as the behavior was fixed. It was fixed, and thus I closed my own issue 馃槃
The issue is still reproduced with yarn v0.19.1 on Ubuntu 16.04.
@evenfrost Does the npm global path work for you (npm link <pacakage>
adds that command to your path)? If so, this command would work to duplicate your npm path to your yarn path.
yarn config set prefix $(npm config get prefix)
If you use nvm, you'd want that command in your bash profile. (~/.bashrc
, ~/.zshrc
, or ~/.profile
, etc.)
This bug still exists, above workaround does not work for me.
Only npm link
works as workaround.
I agree this issue needs to be re-opened.
I get the same problem: global bin is not installed to yarn global bin
folder
@Ore4444 The feature as been included in Yarn as of a9eb571a, which, as previously mentioned in this thread, was included in v0.19.0. It seems to be working fine in later versions (I'm using 1.9.4), but if you're experiencing a failure with it you should probably open a new issue to report a bug
This still doesn't work for me unfortunately.
yarn global link bsb-platform
fails but npm -g link bsb-platform
fixed the issue
yarn version 1.13.0
npm version 6.5.0
node 11.9.0
(macOS yarn,node, npm installed via brew)
yarn 1.14.0
and it still doesn't work
yarn 1.16.0
and the issue is still there.
The fix is npm link
馃槥
@rummik I don't think that commit actually made yarn link work globally:
Toms-MBP-2:cli tommedema$ yarn global link "@vg/cli"
yarn global v1.17.3
error Invalid subcommand. Try "add, bin, dir, ls, list, remove, upgrade, upgrade-interactive"
This does work (at least on Linux), just use yarn link
.
It will link it into the yarn global bin
directory, wherever that is.
It works.
However yarn global list
will not show the package as npm list --global --depth=0
.
Tested on Ubuntu 18.04.
Most helpful comment
This bug still exists, above workaround does not work for me.
Only
npm link
works as workaround.