yarn command not found after installing via npm

We Are Going To Discuss About yarn command not found after installing via npm. So lets Start this Javascript Article.

yarn command not found after installing via npm

How to solveyarn command not found after installing via npm

sudo npm install -g npm
then
sudo npm install -g yarn
Then reboot your system. That did it for me.
Before a reboot only sudo yarn worked. I tried looking at file permissions but everything seemed in order and the files were executable as expected. Nevertheless after a reboot it worked.
If you go to /usr/local/bin after the installation there’s a link there to where yarn.js lives, as expected, and file permissions for it were also correct.
/usr/local/bin is added to $PATH, so it’s surprising that it doesn’t see the new cmd right away, but perhaps it didn’t reload or map it until after the reboot? I don’t know. But I just spent a good hour trying to figure this out so I’m posting what worked for me to spare other the hassle.

yarn command not found after installing via npm

sudo npm install -g npm
then
sudo npm install -g yarn
Then reboot your system. That did it for me.
Before a reboot only sudo yarn worked. I tried looking at file permissions but everything seemed in order and the files were executable as expected. Nevertheless after a reboot it worked.
If you go to /usr/local/bin after the installation there’s a link there to where yarn.js lives, as expected, and file permissions for it were also correct.
/usr/local/bin is added to $PATH, so it’s surprising that it doesn’t see the new cmd right away, but perhaps it didn’t reload or map it until after the reboot? I don’t know. But I just spent a good hour trying to figure this out so I’m posting what worked for me to spare other the hassle.

Solution 1

sudo npm install -g npm

then

sudo npm install -g yarn

Then reboot your system. That did it for me.
Before a reboot only sudo yarn worked. I tried looking at file permissions but everything seemed in order and the files were executable as expected. Nevertheless after a reboot it worked.

If you go to /usr/local/bin after the installation there’s a link there to where yarn.js lives, as expected, and file permissions for it were also correct.

/usr/local/bin is added to $PATH, so it’s surprising that it doesn’t see the new cmd right away, but perhaps it didn’t reload or map it until after the reboot? I don’t know. But I just spent a good hour trying to figure this out so I’m posting what worked for me to spare other the hassle.

Original Author decemvre Of This Content

Solution 2

TL;DR
If you are managing node via nvm, then probably the path to yarn binary is not included in the $PATH variable. You should add this –

# Add this at the end (or after the $NVM_DIR initialization)
#   in your profile - .bashrc | .zshrc | .profile, etc
export PATH="`yarn global bin`:$PATH"

at the end of your profile file (.zshrc for me) or at least after the $NVM_DIR initialization.


I have recently faced this issue and while searching for a solution, I landed up here.

Here is what my environment looks like:

  • OS: Ubuntu 20.04
  • Shell: zsh
  • NodeJS: managing it via nvm, and NOT apt.

After going through all the answers, I was not keen on uninstalling anything. So I tried to dig a bit deeper.

I installed yarn via npm install -g yarn command. So the first thing I wanted to verify was the location of the yarn binary. To do this, I ran the command where yarn which lists the installation path for the yarn binary.

$ where yarn

/home/<user_name>/.nvm/versions/node/v16.11.1/bin/yarn

Then it hit me. In my .zshrc file, I had added the yarn global bin command (which spills out the directory of all the global packages installed by yarn) at the top like so:

# Top of my .zshrc file
export PATH="`yarn global bin`:$HOME/bin:/usr/local/bin:$PATH"

and as per the installation instruction of nvm, the $NVM_DIR (the variable which holds the nvm directory path) was added at the end of my .zshrc file.

So when I was starting up my shell, it was actually trying to load the yarn command (present inside the nvm directory) even before loading the $NVM_DIR path.

To solve this, I tweaked my .zshrc file and moved the yarn global bin command after the $NVM_DIR like this:

# Top of my .zshrc file
export PATH="$HOME/bin:/usr/local/bin:$PATH"

# ...
#
# Something in between
#
# ...

# Bottom of my .zshrc file
export NVM_DIR="${HOME}/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

# Here is where I have added the path to yarn global
export PATH="`yarn global bin`:$PATH"

I hope that this would be of help.

Original Author Anindya Dey Of This Content

Solution 3

If you want to avoid reboot, use
/usr/local/lib/node_modules/yarn/bin/yarn --version

Original Author DevN Of This Content

Solution 4

Uninstall cmdtest:

sudo apt remove cmdtest

Then, run these commands:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn

Original Author Kai – Kazuya Ito Of This Content

Conclusion

So This is all About This Tutorial. Hope This Tutorial Helped You. Thank You.

Also Read,

ittutorial team

I am an Information Technology Engineer. I have Completed my MCA And I have 4 Year Plus Experience, I am a web developer with knowledge of multiple back-end platforms Like PHP, Node.js, Python and frontend JavaScript frameworks Like Angular, React, and Vue.

Leave a Comment