在 CentOS 上 Node.js 无法运行 通常并不是 Node 本身的问题,而是环境、权限或安装方式导致的。下面按常见原因逐一说明,并给出排查方法。
很多情况下只是“以为装了”。
检查方式:
node -v
npm -v
如果提示:
command not found: node
说明 PATH 里没有 node。
✅ 解决方式(推荐):
# 使用 NodeSource 安装(稳定)
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
如果你是用 nvm 装的 Node:
nvm use 18
node -v
但新开终端就失效了。
✅ 解决:
source ~/.nvm/nvm.sh
或写入:
echo "source ~/.nvm/nvm.sh" >> ~/.bashrc
运行 npm 或 node 时报:
EACCES: permission denied
✅ 解决(推荐不要用 sudo):
sudo chown -R $USER:$USER ~/.npm
或:
npm config set prefix ~/.npm-global
export PATH=~/.npm-global/bin:$PATH
CentOS 6 / 老版本 CentOS 7 可能不支持新版 Node。
报错示例:
node: /lib64/libc.so.6: version `GLIBC_2.28' not found
✅ 解决:
比如:
node app.js
报错:
SyntaxError / Module not found
✅ 这是代码问题,不是 Node 问题。
检查:
node --check app.js
某些情况下 SELinux 会阻止执行。
临时测试:
setenforce 0
如果好了,说明是 SELinux 策略问题。
which node
node -v
npm -v
echo $PATH
uname -a
你可以把下面信息发我:
cat /etc/redhat-release)我可以直接告诉你哪一步错了、怎么改。