Linux环境下Node.js日志常见错误码及含义
/root/config.json
(无root权限)或监听80
端口(需root权限)。解决方法:修改资源权限(chmod
/chown
)或以更高权限运行应用(如sudo node app.js
,但不推荐生产环境使用)。Error: listen EADDRINUSE :::3000
,说明3000
端口已被占用。解决方法:通过lsof -i :3000
查找占用进程,用kill -9 <PID>
终止该进程,或更换应用端口(如3001
)。require('./utils/helper.js')
但文件不存在,或fs.readFile('/data/log.txt')
但/data
目录不存在。解决方法:检查文件/目录路径拼写,确保路径正确且存在。mongodb://localhost:27017
但MongoDB未启动。解决方法:确认目标服务已启动,检查防火墙设置(如ufw allow 27017
),验证连接URL的正确性。axios.get('https://api.example.com')
因网络延迟或服务器响应慢超时。解决方法:优化网络环境(如检查网线、切换Wi-Fi),增加超时限制(如axios.create({timeout: 10000})
设置10秒超时),或排查目标服务性能问题。if (x { console.log('hi') }
)、引号不匹配(const str = 'hello
)或拼写错误(funtion foo() {}
)。解决方法:通过代码编辑器的语法检查功能(如VS Code的ESLint插件)快速定位错误位置,修复语法问题。console.log(undefinedVar)
(undefinedVar
未声明)、foo()
(foo
未定义)。解决方法:检查变量/函数名拼写,确保在使用前已正确定义(如const undefinedVar = 'value'
)。'hello' + 123
(字符串与数字相加,虽JS会隐式转换但某些场景下不合理)、undefined.length
(访问undefined
的length
属性)。解决方法:检查操作数的数据类型,添加类型判断(如if (typeof num === 'number') { ... }
)或进行类型转换(如Number(str)
)。new Array(-1)
(数组长度不能为负数)、Math.pow(2, 1024)
(数值过大超出安全整数范围)。解决方法:检查数值计算逻辑,确保数值在合理范围内(如使用Math.min(value, MAX_SAFE_INTEGER)
限制最大值)。app.listen(3000, '192.168.1.100')
但192.168.1.100
不是本机IP。解决方法:确认绑定的IP地址是本机有效地址(如127.0.0.1
或局域网IP),可通过ip a
命令查看本机IP。10.0.0.1:8080
但该地址不在同一网络,或路由器故障。解决方法:检查网络配置(如IP地址、子网掩码、网关),测试网络连通性(如ping 10.0.0.1
)。axios
的timeout
选项)。top
查看CPU/内存使用率),查看服务器日志定位关闭原因,调整服务器配置(如增加资源、修改防火墙规则)。