在 Linux 上运行 Node.js 程序时看到“日志报错”,一般可以按下面思路一步步排查和解决。
Node.js 常见错误大致有这几类:
SyntaxError: Unexpected token
Error: Cannot find module 'xxx'
EADDRINUSE: address already in use :::3000
EACCES: permission denied
FATAL ERROR: Ineffective mark-compacts near heap limit
GLIBC / libssl / node version not supported
不要只看最后一行,重点看:
node app.js
# 或
npm start
node -v
npm -v
确保:
nvm)rm -rf node_modules package-lock.json
npm install
如果是生产环境:
npm install --production
lsof -i:3000
# 或
netstat -tunlp | grep 3000
杀掉进程:
kill -9 PID
不要用 root 跑 node(不安全)
如果必须绑定 80/443:
sudo setcap cap_net_bind_service=+ep /usr/bin/node
npm install -g pm2
pm2 start app.js
pm2 logs
PM2 会保留日志,方便排查。
journalctl -u your-service
# 或
tail -f /var/log/syslog
你可以把 完整报错日志 贴出来(哪怕一部分),我帮你:
你可以直接发:
Node 版本:
系统:
报错内容(复制粘贴):