MacOS系统安装NodeJS后npm包全局命令不生效

670 阅读1分钟

在 Mac 上安装nodejs后,全局安装了 npm 包,但找不到对应的命令(例如yarn: command not found <package>),原因是npm 全局bin目录未添加到PATH变量导致的。以下是解决办法

先创建npm全局安装目录 名称可自定义此处用node_global

mkdir -p /user/local/node_global

再设置npm全局安装路径

npm config set prefix /use/local/node_gloal

1. 获取 npm 全局bin目录

方法1:使用npm config get prefix

npm config get prefix

image.png 目录该路径下:npm 的全局bin目录通常位于该路径下:

echo "$(npm config get prefix)/bin"

输出:

/user/local/node_global/bin

2. 将 npm 全局bin目录添加到PATH

运行:

export PATH="$(npm config get prefix)/bin:$PATH"

然后检查:

echo $PATH

如果$(npm config get prefix)/bin出现在PATH里面,说明已生效。

让配置永久生效

根据你使用的Shell,不同的配置文件:

  • Zsh(macOS默认Shell)

    echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc
    
  • Bash(如果你使用bash

    echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc
    

    3.确保npm全局安装的包可以找到

例如yarn,npm install yarn -g 检查它是否安装:

yarn -v

输出

1.22.22