在 Linux 上运行 JavaScript(Node.js 或前端构建工具)时,看日志 → 定位错误 → 复现 → 修复 → 验证是最通用的处理思路。下面按“常见场景 + 实操步骤”给你一个可落地的排查指南。
不同场景日志位置不同:
pm2 logssystemctl status xxx / journalctl -u xxxlogs/error.log)docker logs 容器名kubectl logs pod名重点看这几行:
Error: Cannot find module 'xxx'
at Function.Module._resolveFilename
关键信息:
Error: xxx → 错误类型at xxx.js:12:3 → 出错文件和行号ENOENT / EACCES → 文件或权限问题Cannot find module 'express'
解决:
npm install
# 或
yarn install
EADDRINUSE: address already in use :::3000
解决:
lsof -i:3000
kill -9 PID
EACCES: permission denied
解决:
sudo chown -R $USER:$USER 项目目录
# 或
sudo chmod -R 755 目录
SyntaxError: Unexpected token '??'
解决:
node -v
nvm use 18
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed
解决:
node --max-old-space-size=2048 app.js
tail -n 200 error.log
journalctl -u myapp --since "10 min ago"
tail -f error.log
pm2 logs
ps aux | grep node
systemctl status myapp
如果你愿意,可以把报错贴出来,我可以精准帮你分析。
最好包含:
node app.js)node -v)cat /etc/os-release)Linux + JS 报错:先读堆栈 → 分清楚是依赖 / 权限 / 端口 / 版本 → 用日志和进程工具定位 → 改完重启验证
如果你现在就有具体报错,直接贴出来,我帮你逐行看。