M1 Mac中npm安装yarn成功但执行提示zsh: command not found问题
问题原因
- M1 芯片 Mac 默认使用 zsh 作为终端 Shell,npm 全局安装包的可执行文件存储路径没有被添加到 zsh 的环境变量
PATH中,因此即使安装成功终端也无法识别 yarn 命令 - 若使用 nvm 管理 Node 版本,未将 nvm 对应 Node 版本的全局 bin 路径持久化写入 zsh 配置文件,就会出现临时生效、重启终端后失效的问题
解决方案(全程不需要 sudo 权限)
先执行以下命令获取当前 npm 全局安装的根路径:
npm get prefix
命令返回的路径即为 npm 全局安装包的存储根目录,yarn 的可执行文件就存放在该目录下的bin子目录中。执行以下命令将全局 bin 路径持久化添加到 zsh 环境变量:
echo 'export PATH="$PATH:$(npm get prefix)/bin"' >> ~/.zshrc执行以下命令让配置立即生效:
source ~/.zshrc验证是否配置成功,执行:
yarn -v
如果正常返回 yarn 版本号即为配置完成,后续重启终端也不会再出现命令找不到的问题。
补充排查(若上述操作无效)
- 确认当前使用的 Node 版本是否为 nvm 管理的版本,执行
nvm current查看返回结果,若返回system说明当前使用的是系统自带的 Node,建议切换到 nvm 安装的 Node 版本后重新执行上述操作 - 检查
~/.zshrc文件中是否存在 nvm 初始化代码,若缺失可将以下内容添加到~/.zshrc末尾,重新执行source ~/.zshrc即可:
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
内容的提问来源于stack exchange,提问作者absolutenoob
相关产品推荐
相关产品推荐

