在 Linux 上看 Node.js 的报错日志,常见有几种情况,下面按最常用 → 进阶给你梳理:
如果你是直接在终端运行:
node app.js
报错会直接打印在终端,例如:
Error: Cannot find module 'express'
at Function.Module._resolveFilename ...
✅ 重点看:
Error: 开头的信息app.js:12:3)nohup node app.js > app.log 2>&1 &
查看日志:
tail -f app.log
Ctrl + C 不会停服务tail -f 实时看报错pm2 start app.js
查看日志:
pm2 logs
只看某个服务:
pm2 logs app
错误日志单独看:
pm2 logs --err
如果是用 systemctl 启动的:
journalctl -u your-node-service -f
看报错:
journalctl -u your-node-service -p err
很多项目会这样写:
console.error(err);
或者:
fs.appendFile('error.log', err.stack);
你可以:
tail -f error.log
| 报错 | 原因 |
|---|---|
Cannot find module |
没装依赖 / 路径错 |
EADDRINUSE |
端口被占用 |
SyntaxError |
代码语法错误 |
undefined is not a function |
调用了不存在的方法 |
ECONNREFUSED |
数据库 / 接口连不上 |
node --trace-warnings app.js
或:
node --inspect app.js
然后用 Chrome 调试。
如果你愿意,可以把具体报错内容贴出来,我可以直接帮你分析是哪一行、怎么修。