先确认node.js未安装或path未生效,检查which node/npm和echo $path,再根据包管理器或nvm安装,设置国内镜像https://registry.npmmirror.com并验证三处关键步骤。

node -v 或 npm -v 报 command not found 怎么办
说明 Node.js 没装上,或者装了但 PATH 没生效。别急着重装,先查两个地方:
- 运行
which node和which npm—— 如果没输出,证明命令根本不在系统路径里 - 运行
echo $PATH—— 看输出里有没有/usr/bin、/usr/local/bin或你手动加的路径(比如~/.nvm/versions/node/v20.17.0/bin) - 如果
which有结果但node -v还报错,可能是权限问题:检查ls -l $(which node),确认不是 broken symlink
用包管理器安装(适合快速验证或临时环境)
Ubuntu/Debian 直接跑:sudo apt update && sudo apt install -y nodejs npm;CentOS/RHEL 8+ 用:sudo dnf module install nodejs:18。这类方式省事,但版本受限:
- Ubuntu 22.04 默认装的是 Node.js 18.x,够用;但 Ubuntu 20.04 是 10.x,已不兼容 Vite 5+、Next.js 14+
- 某些 Debian 衍生版会把
npm单独拆包,装完nodejs后还得补一句:sudo apt install npm - 装完必须验证:
node -v和npm -v都得有输出,且npm -v≥ 9.0(否则npm install可能静默失败)
用 nvm 安装并管理多版本(推荐开发机长期使用)
nvm 把 Node 装在用户目录,不碰系统路径,换版本不用 sudo,项目间隔离干净。安装后默认不激活任何版本,容易漏掉这步:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- 执行安装脚本:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash - 重载 shell 配置:
source ~/.bashrc(bash)或source ~/.zshrc(zsh) - 装一个 LTS 版本:
nvm install --lts,再设为默认:nvm alias default lts/* - 关键:新开终端后,必须运行
nvm use --lts才能生效;否则node -v仍可能报 command not found
配置 npm 使用国内镜像(否则 npm install 会卡住或报 SSL 错误)
旧的 registry.npm.taobao.org 已停服,继续用会触发 ERR_SSL_CERT_HAS_EXPIRED。现在唯一可靠地址是:
- 全局设置:
npm config set registry https://registry.npmmirror.com - 验证是否写入成功:
npm config get registry—— 输出必须是https://registry.npmmirror.com(注意是 https,结尾不能带斜杠) - 如果之前用过 cnpm 或手动改过
~/.npmrc,先删掉里面所有registry=行,再执行上面命令,避免冲突 - 别装
cnpm:它和 npm 不完全兼容,package-lock.json解析行为不同,CI 构建容易失败
真正麻烦的不是安装本身,而是装完没验证、镜像没切、nvm 没 use —— 这三处漏掉任意一个,都会让你花半小时查“为什么还是 command not found”。










