在 CentOS 上,Node.js 模块的安装与管理主要依赖 npm,配合合适的 Node.js 运行时与版本管理策略即可高效完成。下面给出从环境准备到常用操作的完整指引。
一 环境准备与 Node.js 安装
二 本地与全局模块管理
-
本地安装(项目内)
- 安装依赖:npm install <module_name>(写入 package.json 的 dependencies)
- 开发依赖:npm install <module_name> --save-dev
- 指定版本:npm install <module_name>@
- 卸载:npm uninstall <module_name>
- 说明:本地安装将包放入当前项目的 node_modules,便于版本可控与协作共享。
-
全局安装(命令行工具)
- 安装:npm install -g <module_name>
- 卸载:npm uninstall -g <module_name>
- 列出全局包:npm list -g --depth=0
- 说明:全局安装适合 CLI 工具(如 nodemon、pm2),避免在每个项目中重复安装。
-
执行与临时运行
- 直接运行本地模块:npx (如 npx http-server)
- 说明:npx 可临时执行本地或远程包,无需全局安装,适合一次性或快速试用。
三 常用维护与最佳实践
- 升级 npm:npm install -g npm
- 使用国内镜像加速(可选):npm config set registry https://registry.npmmirror.com(原淘宝镜像域名已切换)
- 初始化项目与锁定依赖
- 初始化:npm init -y
- 安装并记录精确版本:npm install <module_name> --save --save-exact
- 使用锁文件:package-lock.json 保证团队成员与 CI 环境一致
- 版本语义与升级策略
- 遵循 SemVer:主版本.次版本.补丁(如 4.17.1)
- 升级小版本/补丁:npm update <module_name>;谨慎跨主版本
- 全局目录权限
- 推荐避免长期使用 sudo npm -g;可配置 npm 全局目录到用户目录,或使用 NVM 隔离环境。
四 快速命令清单
| 场景 |
命令示例 |
| 安装 Node.js(NVM) |
nvm install --lts;nvm use ;nvm alias default |
| 安装 Node.js(NodeSource) |
**curl -fsSL https://rpm.nodesource.com/setup_lts.x |
| 安装 Node.js(DNF 模块) |
dnf module list nodejs;dnf module install nodejs:14 |
| 本地安装依赖 |
npm install express;npm install eslint --save-dev |
| 全局安装 CLI |
npm install -g nodemon |
| 卸载模块 |
npm uninstall <module_name>;npm uninstall -g <module_name> |
| 更新模块 |
npm update <module_name>;npm update -g |
| 列出模块 |
npm list;npm list -g --depth=0 |
| 执行工具 |
npx http-server |
| 切换 Node 版本 |
nvm use |
| 加速与升级 |
npm config set registry https://registry.npmmirror.com;npm install -g npm |
五 常见问题与处理
- 权限错误(EACCES)安装全局包
- 方案 A:配置 npm 全局目录到用户目录(推荐)
- 方案 B:使用 NVM 避免系统级权限问题
- 方案 C:仅在必要时使用 sudo npm -g,并尽快迁移到更安全的方式
- 多版本并存与切换
- 使用 nvm 的 nvm use 与 nvm alias default 管理不同项目所需版本
- 镜像与网络
- 国内建议使用 npmmirror.com 镜像源提升安装速度
- 老系统包管理器安装
- CentOS 7 可用 EPEL 与 NodeSource 脚本;CentOS 8+ 优先 DNF 模块 或 NodeSource。