答案是PATH环境变量未包含Node.js安装路径。需用where node(Windows)或which node(macOS/Linux)确认二进制是否存在;若存在则手动将安装路径添加至PATH,并在shell配置文件(如~/.zshrc)中export PATH,再source生效。
终端输入 node -v 或 npm -v 提示 command not found,不是 node 没装上,而是你的 shell 找不到它——关键在 path 环境变量里缺了 node 的安装路径。
确认 Node 是否真已安装
别急着重装,先验证二进制文件是否存在:
- 运行
which node(macOS/Linux)或where node(Windows PowerShell/CMD); - 如果返回路径(如
/opt/homebrew/bin/node或/usr/local/bin/node),说明已装好,只是环境不可见; - 如果无输出,再查安装方式:用 Homebrew 装的就运行
brew list node,官网 .pkg 装的看/usr/local/bin/或/opt/homebrew/bin/下有无node和npm文件。
检查并修正 shell 的 PATH 配置
macOS Catalina 及之后默认用 zsh,配置文件是 ~/.zshrc。常见问题和操作如下:
- Homebrew 安装后未把
$(brew --prefix)/bin加入PATH:在~/.zshrc末尾添加一行:export PATH="$(brew --prefix)/bin:$PATH"(Apple Silicon Mac 是/opt/homebrew/bin,Intel 是/usr/local/bin); - nvm 安装后命令仍不可用:确保
~/.zshrc包含完整加载语句:export NVM_DIR="$HOME/.nvm"<br>[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
; - 改完必须生效:执行
source ~/.zshrc,或关掉所有终端窗口重新打开。
VSCode 终端特别处理
系统终端能用,但 VSCode 里报错?这是因为它默认启动的是 non-login shell,不读 ~/.zshrc。
- 打开 VSCode 设置(
Cmd + ,),搜索terminal.integrated.shellArgs; - 设为
["-l"](小写 L),强制以 login shell 启动; - 必须彻底退出 VSCode(macOS 右键 Dock →「退出」,Windows 在任务管理器结束所有
Code.exe进程),再重新打开; - 验证:在 VSCode 终端中运行
echo $PATH,确认输出包含/opt/homebrew/bin或你实际的 Node 路径。
其他易忽略点
有些细节看似小,却常导致反复失败:
-
~/.zshrc开头有防护逻辑(如[[ -n $ZSH_EVAL_CONTEXT ]] && return),会跳过后续加载——加一句echo "zshrc loaded"就能确认是否真正执行; - 用了 nvm 却设置了 npm prefix(比如
npm config set prefix /usr/local),会导致冲突,运行npm config delete prefix清除; - 如果曾用多个方式装过 Node(官网 pkg + Homebrew + nvm),优先保留一种管理方式,卸载冗余版本避免路径混乱。


















