“Linux 下 Node.js 日志报错”这个现象太宽泛了,不同报错原因完全不同。我先给你一个常见原因速查表,你可以对照你的日志;如果你愿意,把具体报错信息贴出来,我可以直接帮你定位。
报错示例
EACCES: permission denied
Error: listen EACCES: permission denied 0.0.0.0:80
原因
解决
# 不要用 sudo 跑全局
sudo chown -R $USER:$USER /your/project
# 或
sudo setcap cap_net_bind_service=+ep $(which node)
报错示例
Error: listen EADDRINUSE: address already in use :::3000
解决
lsof -i:3000
kill -9 PID
报错示例
SyntaxError: Unexpected token ?
或
ERR_REQUIRE_ESM
原因
解决
node -v
# 升级
nvm install 18
nvm use 18
报错示例
Cannot find module 'express'
解决
rm -rf node_modules package-lock.json
npm install
报错示例
Cannot find module './Config'
原因
解决
require('./config') 与实际文件名一致报错示例
FATAL ERROR: Reached heap limit
解决
node --max-old-space-size=2048 app.js
现象
原因
排查
pm2 logs
journalctl -u your-service
请贴出:
node app.js / pm2 / docker)你可以直接把报错 复制过来,我帮你一行一行分析。