[英]yarn command not found after installing via npm
根据 yarn v2 的纱线安装,他们希望您使用npm install -g yarn
。 所以我在 Ubuntu 20.04 上运行了sudo npm install -g yarn
。 但是在我这样做之后,它说找不到命令。
❯ sudo npm install -g yarn
> yarn@1.22.10 preinstall /usr/local/lib/node_modules/yarn
> :; (node ./preinstall.js > /dev/null 2>&1 || true)
❯ yarn --version
zsh: command not found: yarn
sudo npm install -g npm
然后
sudo npm install -g yarn
然后重新启动系统。 那是为我做的。 在重新启动之前,只有 sudo yarn 有效。 我尝试查看文件权限,但一切似乎都井井有条,并且文件可以按预期执行。 尽管如此,重新启动后它仍然有效。
如果您在安装后 go 到 /usr/local/bin ,那么这里有一个指向 yarn.js 所在位置的链接,正如预期的那样,并且它的文件权限也是正确的。
/usr/local/bin 被添加到 $PATH,所以令人惊讶的是它没有立即看到新的 cmd,但也许它没有重新加载或 map 直到重新启动之后? 我不知道。 但我只是花了一个小时试图弄清楚这一点,所以我发布了对我有用的东西,以免其他人麻烦。
这为我解决了:
corepack enable
(如果出现“内部错误:EACCES:权限被拒绝”,请使用 sudo 运行它)
这也是 Yarn 文档推荐的: https://yarnpkg.com/getting-started/install
如果要避免重新启动,请使用/usr/local/lib/node_modules/yarn/bin/yarn --version
卸载cmdtest
:
sudo apt remove cmdtest
然后,运行以下命令:
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
TL;DR如果您通过nvm
管理节点,那么$PATH
变量中可能不包含 yarn 二进制文件的路径。 你应该添加这个 -
# Add this at the end (or after the $NVM_DIR initialization)
# in your profile - .bashrc | .zshrc | .profile, etc
export PATH="`yarn global bin`:$PATH"
在您的配置文件的末尾(对我来说是 .zshrc)或至少在$NVM_DIR
.zshrc
之后。
我最近遇到了这个问题,在寻找解决方案时,我来到了这里。
这是我的环境的样子:
- 操作系统:Ubuntu 20.04
- Shell:
zsh
- NodeJS:通过
nvm
管理它,而不是apt
。
在浏览完所有答案后,我并不热衷于卸载任何东西。 所以我试图更深入地挖掘。
我通过npm install -g yarn
命令安装了yarn
。 所以我想验证的第一件事是yarn
二进制文件的位置。 为此,我运行了where yarn
命令,其中列出了yarn
二进制文件的安装路径。
$ where yarn
/home/<user_name>/.nvm/versions/node/v16.11.1/bin/yarn
然后它击中了我。 在我的.zshrc
文件中,我在顶部添加了yarn global bin
命令(它会溢出由 yarn 安装的所有全局包的目录),如下所示:
# Top of my .zshrc file
export PATH="`yarn global bin`:$HOME/bin:/usr/local/bin:$PATH"
并根据nvm
的安装说明,在我的 .zshrc 文件末尾添加了$NVM_DIR
.zshrc
保存nvm
目录路径的变量)。
因此,当我启动 shell 时,它实际上是在加载$NVM_DIR
路径之前尝试加载yarn
命令(存在于nvm
目录中)。
为了解决这个问题,我调整了我的.zshrc
文件并将yarn global bin
命令移动到$NVM_DIR
之后,如下所示:
# 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"
我希望这会有所帮助。
yarn 文档缺少一个步骤,您需要在此安装和运行yarn --version
之间重新启动计算机。
这对我有用
我最近遇到了类似的情况,这就是我解决它的方法。
首先我对当前的 npm 安装进行故障排除:
npm config -list
我有一个具有不同前缀的~/.npmrc
文件:
PREFIX=/opt/homebrew
这使我的 npm 安装在/opt/homebrew
下寻找全局安装的包。
就我而言,我使用的是不同的 npm 安装(不再使用自制软件)。 一个简单的修复是从~/.npmrc
文件中删除这个自定义PREFIX
,问题就解决了。
现在 npm 在/usr/local/bin/
下寻找全局安装的包。
我用npm install -g yarn
yarn
git bash 上安装了 yarn,我用yarn -v
测试了它,显示了安装的 yarn 的版本,但是当我使用yarn start
,它给了我这个错误
C:\Users\{username}\AppData\Roaming\npm/node_modules/node/bin/node: line 1: This: command not found
这些是我用来解决Windows 10问题的简单步骤:
C:\Program Files\nodejs
和C:\Users\{username}\AppData\Roaming\npm
node -v
查看npm install
yarn start
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.