Node Express API本地运行异常:重启后出现localhost ENOTFOUND错误
解决Node Express API中
locahost的ENOTFOUND错误 核心问题:主机名拼写错误
看报错信息里的hostname: 'locahost'——这里是locahost(少了一个字母l),正确的本地主机名应该是localhost。这是最可能触发该错误的原因。
排查与修复步骤
检查代码与配置中的拼写
- 搜索项目中所有拼写错误的主机名:
grep -r "locahost" ./your-api-project-path - 确认Express监听代码的主机参数,比如:
// 错误写法 app.listen(3000, 'locahost', () => { ... }) // 正确写法 app.listen(3000, 'localhost', () => { ... }) // 更稳妥的方式:省略主机名或用0.0.0.0 app.listen(3000, () => { ... }) - 检查环境变量文件(如
.env)中的HOST、DB_HOST等配置项,是否存在同样的拼写错误。
- 搜索项目中所有拼写错误的主机名:
验证WSL的DNS与hosts配置
- 在WSL终端测试解析:
ping localhost # 应正常返回127.0.0.1的响应 ping locahost # 应失败,确认拼写错误的主机名确实无法解析 - 刷新WSL的DNS缓存:
sudo systemctl restart systemd-resolved - 强制重启WSL实例(Windows命令行执行):
之后重新打开WSL终端再测试API。wsl --shutdown
- 在WSL终端测试解析:
额外验证步骤
运行nslookup localhost或dig localhost,确认本地DNS能正确解析localhost到127.0.0.1。
内容的提问来源于stack exchange,提问作者David L. Whitehurst
相关产品推荐
相关产品推荐

