Ubuntu 上 Node.js 错误排查清单
一 快速定位与通用步骤
二 常见错误与修复命令
| 症状 | 典型错误信息 | 快速排查 | 修复建议 |
|---|---|---|---|
| 端口被占用 | Error: listen EADDRINUSE :::3000 | lsof -i :3000 或 ss -ltnp | kill -9 |
| 模块找不到 | Error: Cannot find module ‘xxx’ | 检查拼写、相对/绝对路径 | npm install xxx;确认 node_modules 存在 |
| 权限不足 | Error: EACCES permission denied | 查看目录/文件权限 | 调整权限或以合适用户运行;避免 1024 以下端口直接用非 root |
| 地址不可用 | Error: EADDRNOTAVAIL | 核对绑定 IP | 服务器对外访问用 0.0.0.0;不要绑定不存在的网卡 IP |
| 文件不存在 | Error: ENOENT no such file or directory | 检查相对路径与工作目录 | 使用绝对路径或修正相对路径 |
| 连接超时 | Error: ETIMEDOUT | 网络连通性、目标服务状态 | 检查目标主机/端口、重试与超时设置 |
| 日志写入失败 | Error: EACCES open ‘/var/log/node.log’ | 查看日志目录权限 | 改为可写目录或调整权限 |
| PM2 停不掉 | pm2 stop 后进程仍在 | ps aux | grep node 查残留 |
| 中文乱码/EIO | Error: write EIO | 文件编码与终端编码 | 将源文件保存为 UTF-8 再运行 |
三 日志与警告分析
四 环境与安装问题
五 网络与访问问题