Ubuntu 上 Node.js 日志报错的原因非常多种,不能仅凭“报错”两个字直接判断。下面我按常见场景 + 典型错误 + 解决思路帮你梳理,你可以对照自己的情况。
典型日志:
SyntaxError: Unexpected token '?' (可选链)
或
DeprecationWarning
原因:
解决:
node -v
升级 Node(推荐 nvm):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 18
nvm use 18
典型日志:
Error: listen EADDRINUSE :::3000
原因:
解决:
sudo lsof -i:3000
kill -9 PID
或修改端口:
app.listen(4000)
典型日志:
EACCES: permission denied
原因:
解决:
sudo chown -R $USER:$USER /your/project
或避免用 root 跑 Node。
典型日志:
Cannot find module 'express'
原因:
npm install解决:
rm -rf node_modules package-lock.json
npm install
典型日志:
Error: Cannot find module '/opt/app/index.js'
原因:
检查:
journalctl -u your-node-service -n 50
请把以下信息发我,我可以精准判断:
node app.jsnpm startlsb_release -a
node -v
Ubuntu 上 Node.js 报错 90% 是:版本、权限、端口、依赖 四类问题
如果你愿意,把日志贴出来,我可以直接帮你指出是哪一行出的问题 ✅