在 CentOS 上 Node.js 配置失败,常见原因主要集中在 环境、权限、源、版本冲突 这几类。下面按最常见情况帮你系统排查。
现象
node -v
bash: node: command not found
原因
npm 没装 nodePATH解决
which node
echo $PATH
推荐安装方式(CentOS 7/8):
curl -sL https://rpm.nodesource.com/setup_18.x | bash -
yum install -y nodejs
CentOS 默认仓库 Node 很旧(如 v6、v8)
解决
yum remove nodejs
再使用 NodeSource 或 nvm 安装
现象
npm install -g xxx
Error: EACCES: permission denied
原因
解决(推荐)
npm config set prefix ~/.npm-global
export PATH=~/.npm-global/bin:$PATH
或:
sudo chown -R $USER /usr/lib/node_modules
现象
检查
getenforce
临时关闭
setenforce 0
或配置 SELinux 策略(生产环境推荐)
firewall-cmd --list-ports
firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --reload
现象
systemctl start node
Failed to start node.service
常见错误
✅ 正确示例:
[Unit]
Description=Node App
[Service]
ExecStart=/usr/bin/node /opt/app/index.js
WorkingDirectory=/opt/app
Restart=always
User=node
[Install]
WantedBy=multi-user.target
现象
原因
.bashrc 未加载解决
source ~/.nvm/nvm.sh
node -v
npm -v
which node
echo $PATH
getenforce
firewall-cmd --list-ports
你可以补充:
我可以直接告诉你 是哪一步配置错了,并给修复命令。