在 CentOS 上 Node.js 配置失败 是很常见的问题,通常不是 Node 本身坏了,而是环境、权限或安装方式不对。下面按「最常见原因 → 对应解决办法」给你梳理一下。
CentOS 自带源里的 Node 非常老(v6 / v8),很多项目跑不起来。
现象
node -v
# v6.17.1
解决:用 NodeSource 或 nvm 安装
# NodeSource(推荐)
curl -sL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
CentOS 默认禁止普通用户写 /usr/lib/node_modules
错误类似
EACCES: permission denied
解决方式(任选一种) ✅ 推荐用 nvm(不影响系统)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 18
或临时加权限(不推荐长期使用):
sudo chown -R $USER /usr/lib/node_modules
现象
command not found: node
原因
解决
export PATH=$PATH:/usr/local/node/bin
nvm 用户:
source ~/.nvm/nvm.sh
Node 服务起来了,但外部访问不了。
检查
curl http://localhost:3000
开放端口
sudo firewall-cmd --add-port=3000/tcp --permanent
sudo firewall-cmd --reload
现象
临时关闭测试
setenforce 0
如确认是 SELinux 问题,再针对性配置策略。
CentOS 6 已停止维护,新 Node 不再支持。
解决
node -v
npm -v
which node
echo $PATH
sudo systemctl status firewalld
getenforce
你可以把下面信息发我:
cat /etc/redhat-release)我可以直接告诉你哪一步错了、怎么改。