在 Mac 上安装nodejs后,全局安装了 npm 包,但找不到对应的命令(例如yarn: command not found <package>),原因是npm 全局bin目录未添加到PATH变量导致的。以下是解决办法
先创建npm全局安装目录 名称可自定义此处用node_global
bash
mkdir -p /user/local/node_global
再设置npm全局安装路径
arduino
npm config set prefix /use/local/node_gloal
1. 获取 npm 全局bin目录
方法1:使用npm config get prefix
arduino
npm config get prefix
目录该路径下:npm 的全局
bin目录通常位于该路径下:
bash
echo "$(npm config get prefix)/bin"
输出:
sql
/user/local/node_global/bin
2. 将 npm 全局bin目录添加到PATH
运行:
bash
export PATH="$(npm config get prefix)/bin:$PATH"
然后检查:
bash
echo $PATH
如果$(npm config get prefix)/bin出现在PATH里面,说明已生效。
让配置永久生效
根据你使用的Shell,不同的配置文件:
-
Zsh(macOS默认Shell) :
bashecho 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc source ~/.zshrc -
Bash(如果你使用
bash) :bashecho 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.bashrc source ~/.bashrc3.确保npm全局安装的包可以找到
例如yarn,npm install yarn -g 检查它是否安装:
yarn -v
输出
1.22.22