在 CentOS 上运行 Node.js 报错的原因有很多,常见情况和对应解决思路如下(你可以对照看看属于哪一种):
报错示例
-bash: node: command not found
原因
解决
node -v
which node
安装方式(推荐):
# 使用 NodeSource
curl -fsSL https://rpm.nodesource.com/setup_18.x | bash -
yum install -y nodejs
或:
yum install -y nodejs npm
报错示例
node: /lib64/libc.so.6: version `GLIBC_2.28' not found
原因
解决
报错示例
EACCES: permission denied
原因
解决
sudo chown -R $USER:$USER /usr/lib/node_modules
或使用 nvm(推荐):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
报错示例
EADDRINUSE: address already in use :::3000
解决
lsof -i:3000
kill -9 PID
报错示例
排查
getenforce
临时关闭测试:
setenforce 0
firewall-cmd --list-ports
firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --reload
如果是 JS 代码错误,请贴出:
你可以直接发我:
cat /etc/redhat-release
node -v
npm -v
以及完整报错内容,我可以精准定位问题。