温馨提示×

ubuntu nodejs日志报错怎么办

小樊
39
2026-10-12 08:11:23
栏目: 编程语言

在 Ubuntu 上运行 Node.js 时遇到日志报错,排查思路其实比较通用。下面我按常见错误类型 + 排查步骤 + 解决思路给你一个实用指南。


一、先确认“报错在哪里”

Node.js 日志通常来自:

  1. 终端直接报错(前台运行)
  2. PM2 / systemd 日志
    pm2 logs
    journalctl -u your-node-service
    
  3. Docker 容器日志
    docker logs <container_id>
    

二、先看错误类型(最常见)

1️⃣ Cannot find module 'xxx'

原因:依赖没装或装错环境
解决:

npm install
# 或
yarn install

确认 Node 版本一致:

node -v
npm -v

2️⃣ EADDRINUSE: address already in use

原因:端口被占用
解决:

lsof -i:3000
kill -9 <pid>

或修改端口:

app.listen(4000)

3️⃣ Permission denied

原因:Ubuntu 权限不足(尤其是 80/443 端口)
解决:

sudo setcap cap_net_bind_service=+ep $(which node)

或:

sudo node app.js

4️⃣ SyntaxError / Unexpected token

原因:

  • Node 版本太低
  • ESModule / CommonJS 混用

解决:

node -v

升级 Node(推荐 nvm):

nvm install 18
nvm use 18

5️⃣ ENOSPC: no space left on device

原因:磁盘满了(常见于日志)

df -h

清理:

npm cache clean --force
rm -rf node_modules

6️⃣ ECONNREFUSED

原因:数据库 / Redis / 接口没启动
解决:

  • MongoDB:systemctl status mongod
  • MySQL:systemctl status mysql

三、通用排查流程(强烈推荐)

# 1. 看完整报错
journalctl -u your-service -n 100

# 2. 本地直接跑
node app.js

# 3. 看 Node 版本
node -v

# 4. 重装依赖
rm -rf node_modules package-lock.json
npm install

# 5. 看系统资源
top
df -h

四、如果你愿意,我可以直接帮你分析

你可以把 报错日志完整贴出来(不要只贴一行),我可以直接告诉你:

  • 是代码问题还是环境问题
  • 具体改哪一行
  • Ubuntu 下怎么稳定部署

只要贴日志,我来帮你“对症下药”。

0 踩