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/内存使用率),查看服务器日志定位关闭原因,调整服务器配置(如增加资源、修改防火墙规则)。