马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
先把逻辑理清楚:npm 离不开 Node.js
npm 是 Node.js 自带的包管理器,它不是独立能装的东西——Node.js 装完 npm 就在 node_modules/npm 里跟着有了。所以在 Linux(以 CentOS 为例)上装 npm,本质是装 Node.js,然后按需把 npm 的下载源换到国内镜像加速。
一、更新系统软件包
装之前先更新一下,避免依赖版本打架:
sudo yum update -y
sudo yum install -y gcc-c++ make
gcc-c++ 和 make 是后面编译原生模块的必备工具,很多 Node 包(如 node-sass、bcrypt)安装时要现场编译,缺这两样会直接报 make: command not found。
二、加 NodeSource 的 Yum 源
CentOS 默认源里的 Node 版本很老,想装新版本得挂第三方源。NodeSource 是最常用的:
curl -sL https://rpm.nodesource.com/setup_20.x | sudo -E bash -
URL 里的 20.x 决定装哪个大版本,14.x、16.x、18.x 也都有,按项目要求选。跑完这条命令,/etc/yum.repos.d/ 下会多一个 nodesource 的 repo 文件。
三、安装 Node.js
sudo yum install -y nodejs
过程中有 Is this ok [y/N] 就一路 y。
四、验证
node --version
npm --version
两条都能打印出版本号就成功了。只看 node -v 不够——npm 经常因为装完没重建命令链接而报 npm: command not found,这种情况下执行 sudo yum reinstall nodejs 重建一下即可。
五、换 npm 镜像源(国内加速)
默认源在境外,npm install 动辄卡几分钟。换淘宝(现已更名为 npmmirror)镜像:
npm config set registry https://registry.npmmirror.com
# 验证是否生效
npm config get registry
输出是 npmmirror 的地址就对了。临时单次用的话可以加参数:
npm install 包名 --registry=https://registry.npmmirror.com
六、CentOS 7 的两个特别提醒
- CentOS 7 已停止维护,默认源还指向 vault.centos.org,
yum update 可能很慢或报错。先换 vault 镜像或 docker-ce 阿里云源再装。
- Node 版本选择:Node 18+ 在 CentOS 7 上能跑,但更高版本(20+ 某些补丁版)对新 glibc 有隐性要求;容器里跑最省事。老项目锁 Node 14 的话,把第二步的
setup_20.x 换成 setup_14.x 即可,其余不变。
- 装完先看路径:
which node、which npm 应该在 /usr/bin 或 /usr/local/bin,不在 PATH 里的话 export PATH=$PATH (dirname $(which node))。
七、常见报错速查
E: Unable to find package nodejs 类错误源没生效 → 先 yum clean all && yum makecache。
node: command not found → 安装中断了,看 yum history 回滚后重试,或 reinstall nodejs。
npm ERR! gyp ERR! stack Error: not found: make → 补 yum install -y gcc-c++ make python3。
SSL error 拉包失败 → 镜像源没切成功,或者系统 CA 太旧,yum update ca-certificates。
小结
记一条主线:yum 更新 → 挂 NodeSource 源 → yum install nodejs(npm 自带)→ 验证两个版本号 → npm config set registry 换国内镜像。任何时候 npm 报「找不到」先 node -v 确认 Node 真的装上了——绝大多数 npm 问题根本不是 npm 的问题。
qidao123.com企服评测-应用市场 编辑提示 |