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
相关推荐
濮水大叔7 小时前
NestJS Dynamic Providers 与 Cabloy/Vona Provider Scene:同接口多实现的两种装配哲学
typescript·node.js·nestjs
silvamux_14 小时前
Node.js 调用大模型 API 排错实录
node.js
Amumu1213817 小时前
NodeJs介绍
前端·node.js
孟陬18 小时前
利用 TypeScript `asserts` function 语法定制一个类型缩窄的 `assertIncludes`
typescript·node.js
damoluomu18 小时前
静态站点生成器怎么选:Node.js 生态里常用的五个(番外一)
javascript·css·typescript·node.js·html
濮水大叔19 小时前
Cabloy/Vona 如何避开 NestJS 的循环依赖问题:懒属性注入机制源码解析
typescript·node.js·nestjs
月走乂山1 天前
DSH 桌面版用 DeepSeek 报 REQUEST_EXTENSION 的根因定位与修复
electron·node.js·插件系统·deepseek·bug排查·dsh·deepseek harness
斯晨的AI笔记2 天前
在服务器上跑 npm ci 四十分钟没装完,我打包把 node_modules 扔了过去
服务器·node.js
cpolar技术支持2 天前
第三方平台回调总说收不到?把本机 Webhook 收单页跑通,用 cpolar 固定二级子域名给对面看实时请求
node.js·内网穿透·webhook·cpolar·回调对接