-bash:yarn:commandnotfound问题探究

发布时间:2023-05-23

一、问题背景

在使用yarn进行node.js项目开发时,有时候会出现如下错误信息:

-bash: yarn: command not found

这种错误信息通常有两种情况:

  1. 未安装yarn导致
  2. 环境变量配置错误导致

二、未安装yarn导致

如果是未安装yarn导致的问题,可以通过以下命令进行安装:

curl -o- -L https://yarnpkg.com/install.sh | bash

或者使用Homebrew进行安装:

brew install yarn

安装完成后可以通过以下方式检查是否安装成功:

yarn --version

如果成功安装,会输出yarn的版本信息。

三、环境变量配置错误导致

1. 检查环境变量

如果已经安装了yarn,但是还是出现了-bash:yarn:commandnotfound这个错误,那么就需要检查一下环境变量是否配置正确。

首先需要找到.yarnrc文件所在的目录。可以通过如下命令查找:

find / -name ".yarnrc" 2>/dev/null

如果找到了.yarnrc文件,打开文件看看里面是否有语句设置了yarn的环境变量:

export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"

如果没有找到.yarnrc文件,可以通过以下方式进行创建并进行环境变量的配置:

touch ~/.bashrc
echo 'export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

配置完成后,可以在终端输入yarn,查看是否已经可以成功运行了。

2. 检查yarn所在目录

如果上述方法都没有解决问题,那么有可能是因为yarn的安装目录没有被正确的添加到环境变量中,需要检查yarn所在的目录是否被添加到了环境变量中。

首先通过以下命令查找yarn所在的目录:

find / -name "yarn" 2>/dev/null | grep bin

然后将查找到的目录添加到环境变量中,例如以下路径:

/usr/local/Cellar/yarn/1.22.4/bin/yarn

将其添加到~/.bash_profile文件中,例如:

export PATH="$PATH:/usr/local/Cellar/yarn/1.22.4/bin"

修改完成后,运行以下命令使修改生效:

source ~/.bash_profile

四、其他问题

如果上述方法都没有解决问题,那么有可能是因为其他原因导致的。可以通过以下方式进行排查:

  1. 检查是否存在多个yarn版本,导致冲突。
  2. 重新安装node.js和yarn。
  3. 检查是否安装了类似nvm的软件,可能导致环境变量配置错误。