使用nvm从Node.js 18切换至14时Yarn提示'command not found'的解决方法
让Yarn在Node.js 14和18版本下都正常工作的方法
出现这种情况是因为你当前的Yarn只安装在了Node.js 18的nvm专属环境里,切换到14版本时,该环境没有Yarn的可执行文件,所以会提示找不到命令。下面是几种解决办法:
方法一:给每个Node版本单独安装Yarn
- 切换到Node.js 14:
nvm use 14 - 全局安装指定版本的Yarn:
npm install -g yarn@1.22.19 - 安装完成后验证:输入
yarn --version,应该显示1.22.19 - 之后不管切换到14还是18版本,Yarn都能正常使用
方法二:借助nvm的默认包功能共享Yarn
这种方式不用重复安装,能让Yarn自动适配所有nvm管理的Node版本:
- 先查看nvm的根目录:
nvm root,一般输出是~/.nvm - 创建默认包目录(如果没有的话):
mkdir -p ~/.nvm/default-packages - 在这个目录里新建一个文件,直接命名为
yarn,文件内容写yarn@1.22.19 - 重新安装Node.js 14(或者执行
nvm reinstall-packages 14),nvm会自动把这个默认包安装到14版本的环境中 - 切换到14版本验证:
nvm use 14 && yarn --version
方法三:手动添加Yarn路径到全局环境变量
适合熟悉shell配置的用户,直接让系统在任何Node版本下都能找到Yarn:
- 先在Node.js 18环境下找到Yarn的位置:
which yarn,输出大概是~/.nvm/versions/node/v18.x.x/bin/yarn(把v18.x.x换成你实际的18版本号) - 打开zsh的配置文件
~/.zshrc,添加一行:export PATH="$HOME/.nvm/versions/node/v18.x.x/bin:$PATH" - 保存文件后,执行
source ~/.zshrc让配置生效 - 切换到Node.js 14,输入
yarn --version确认正常
内容的提问来源于stack exchange,提问作者utnalove
相关产品推荐
相关产品推荐

