大家好!很多小伙伴在搭建 CentOS 服务器环境时,需要部署 Node.js 运行环境,用于前端打包、后端服务运行、小程序后端、自动化脚本执行等场景。
CentOS 官方默认 YUM 源自带的 Node.js 版本极低,无法满足日常开发和线上部署需求。今天给大家分享CentOS 系统通过 YUM 正规方式安装高版本 Node.js的完整流程,全程无复杂编译、一键部署、稳定可靠,适合生产环境使用。
本文教程适配 CentOS,所有命令可直接复制执行,新手也能一次成功。
一、安装方案说明
CentOS 安装 Node.js 主流有两种 YUM 方案:
- EPEL 官方源安装:操作最简单,无需额外配置源,但版本偏低(仅 v6.x),仅适合极简测试场景。
- NodeSource 源安装(推荐):可安装 LTS 长期支持版(14/16/18/20),版本新、稳定性强,适配生产环境,本文重点讲解该方案。
二、前期环境准备
首先更新系统依赖、安装基础工具,避免安装过程中出现依赖缺失报错:
# 更新系统依赖(可选,建议执行)
yum update -y
# 安装基础编译工具与依赖
yum install -y gcc-c++ make curl
执行完成后,确保服务器网络正常,可正常访问外网,保证后续源拉取成功。
三、方式一:NodeSource 源安装高版本 Node.js(生产推荐)
NodeSource 是 Node.js 官方推荐的 RPM 源,专门为 CentOS、RHEL 系统提供适配的安装包,支持指定任意 LTS 版本,是企业部署首选方案。
1. 添加对应版本 NodeSource 源
根据需求选择对应版本命令,推荐安装 18.x 或 20.x LTS 稳定版:
# 安装 Node.js 18.x 长期支持版(最稳定,推荐生产使用)
curl -fsSL https://rpm.nodesource.com/setup_18.x | bash -
# 如需安装 20.x 最新LTS版,替换执行以下命令
# curl -fsSL https://rpm.nodesource.com/setup_20.x | bash -
# 如需安装 16.x 兼容旧项目
# curl -fsSL https://rpm.nodesource.com/setup_16.x | bash -
脚本执行后,会自动导入源密钥、配置 YUM 仓库,无需手动修改配置文件。
2. YUM 正式安装 Node.js
源配置完成后,直接执行 YUM 安装命令,自动安装 Node.js + npm 配套环境:
yum install -y nodejs
全程自动安装,无需手动确认,等待命令执行完毕即可。
四、方式二:EPEL 源安装默认低版本(仅测试用)
如果只是临时测试,对版本无要求,可直接使用 CentOS EPEL 扩展源安装,操作更简单:
# 安装EPEL扩展源
yum install epel-release -y
# 安装nodejs和npm
yum install nodejs npm -y
⚠️ 注意:该方式安装版本为 v6.x,版本过旧,不支持现代前端框架、Node 后端项目,禁止用于生产环境。
五、验证安装是否成功
安装完成后,通过以下命令查看版本,校验环境是否部署成功:
# 查看node版本
node -v
# 查看npm版本
npm -v
正常输出版本号即代表安装成功,如下图示例(18.x 版本输出):
v18.x.x、8.x.x 版本信息,说明环境配置正常。
六、优化配置:切换 npm 国内镜像(必配)
默认官方镜像下载速度极慢,容易超时报错,安装完成后建议立即切换淘宝镜像,提升依赖下载速度:
# 设置淘宝镜像源
npm config set registry https://registry.npmmirror.com
# 校验镜像是否配置成功
npm config get registry
输出 https://registry.npmmirror.com 即配置生效。
七、常见问题排查
1. 报 repo 源冲突、安装失败
执行清理缓存命令后重新安装:
yum clean all
yum makecache
2. curl 命令不存在
提前安装 curl 工具:yum install curl -y
3. 安装后 node 命令找不到
重新加载环境变量或重启终端,确认安装过程无报错,重新执行安装命令即可。
八、总结
1. 生产环境优先选择 NodeSource 源 + YUM 安装,版本新、稳定、适配性强;
2. EPEL 源仅适合临时测试,低版本不满足现代项目需求;
3. 安装后务必切换国内镜像,解决依赖下载慢、超时问题;
4. YUM 安装方式相比源码编译、NVM 安装,更简单、易维护、适配服务器自动化部署。
后续部署 Vue/React 前端打包、Node 接口服务、爬虫脚本等场景,均可直接使用该环境,开箱即用!