Mac全局安装@nestjs/cli成功后zsh提示command not found: nest怎么办
问题原因分析
- 最核心的常见原因是npm全局安装包的可执行文件目录未被纳入zsh的PATH环境变量,导致shell无法定位到nest命令的执行文件
- 少数情况为安装时权限不足导致可执行文件未正常写入,或node版本管理工具(如nvm)的路径配置异常
解决步骤
- 首先查询npm全局安装的根目录,执行命令:
npm root -g
输出示例:/Users/your_username/.npm-global/lib/node_modules - 基于上述结果拼接全局可执行文件的bin路径,将输出末尾的
lib/node_modules替换为bin即可,上述示例对应的bin路径为/Users/your_username/.npm-global/bin - 将bin路径添加到zsh的配置文件中:
- 执行
touch ~/.zshrc确保配置文件存在 - 执行
open ~/.zshrc打开配置文件 - 在文件末尾新增一行:
export PATH="替换为你自己的bin路径:$PATH",示例写法为export PATH="/Users/your_username/.npm-global/bin:$PATH" - 保存关闭配置文件后,执行
source ~/.zshrc让配置立即生效
- 验证配置是否生效,执行命令:
nest -v
正常输出版本号即说明问题已修复
补充说明
如果按上述步骤操作后仍报错,可尝试重新执行带管理员权限的安装命令:sudo npm i -g @nestjs/cli,安装完成后再次验证即可。
内容的提问来源于stack exchange,提问作者David__
相关产品推荐
相关产品推荐

