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

在 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) :

    bash 复制代码
    echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc
  • Bash(如果你使用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
相关推荐
wno7043 小时前
node.js中使用jquery
前端·node.js·jquery
damoluomu21 小时前
Node 的 Headless 出厂没有前台,Java 的 Headless 是从门户里长出来的
java·开发语言·node.js
Dumbness1 天前
一个手机号验证码登录接口的五个坑:无限发码、无限试码,传个数字就让 Express 进程退出
node.js·express
怒放的生命19911 天前
本地用 pnpm 省磁盘,团队继续用 npm:极简实践
前端·npm·node.js
Hone2 天前
我把「自动发文章到掘金」做成了一个 Agent 技能:juejin-skills
node.js·ai编程·前端工程化
Dumbness2 天前
二十行手写的 SKILL.md 头部解析,遇到 YAML 的折叠写法、单引号和嵌套键就读错:和 js-yaml 逐条对照
node.js·ai编程
只睡四小时3 天前
MCP 弃用 SSE?Node 分帧漏 81.7% 事件
node.js·webassembly·实时通信·mcp·streamable http
hey you~3 天前
个体户门店办理400电话,如何对接订单系统实现来电弹窗
node.js·webhook·400电话·门店数字化·来电弹窗·订单系统对接
YIAN4 天前
RAG 学到最后,我真正学会的不是“检索”,而是让系统知道自己缺什么
langchain·node.js·llm