在 CentOS 上配置 Node.js 报错是很常见的问题,原因可能有很多。下面我按最常见场景 + 对应解决办法给你一个排查清单,你可以对照看看是哪一种。
command not found: node / npm说明 Node.js 没装好或没加入 PATH。
解决:
# 查看是否在 PATH
which node
echo $PATH
# 如果用的是 nvm
source ~/.nvm/nvm.sh
nvm use --lts
推荐安装方式(CentOS 7/8 通用):
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
GLIBC_2.xx not found常见于 CentOS 7 + 新版本 Node.js。
原因: Node 18+ 需要新 glibc,CentOS 7 不支持。
解决:
nvm install 16
或
sudo yum install nodejs16
Permission denied / EACCESnpm 全局安装报错。
解决(推荐):
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
❌ 不要用:
sudo npm install -g xxx
gcc / g++ 版本太低编译原生模块(如 bcrypt、sharp)报错。
解决:
sudo yum install -y gcc gcc-c++ make
CentOS 7 升级 gcc:
sudo yum install centos-release-scl
sudo yum install devtoolset-9
scl enable devtoolset-9 bash
yum install nodejs 版本太老CentOS 自带源 Node 很旧(v6/v8)。
解决: 用 NodeSource 或 nvm:
nvm install --lts
node -v
npm -v
cat /etc/centos-release
把输出发我,我可以精确判断你的问题。
我可以直接帮你定位 ✅