You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Node.js服务器时遭遇listen EADDRNOTAVAIL未处理错误求助

解决Node.js启动时的EADDRNOTAVAIL错误

嘿,别担心,刚接触Node.js遇到这种网络绑定问题太正常了,我来帮你快速搞定这个报错!

错误原因解析

你看到的Error: listen EADDRNOTAVAIL 18.194.133.202:3001,核心问题是:你代码里指定要绑定的IP地址18.194.133.202并不是当前机器(你的Mac)上可用的网络接口地址,Node.js服务器没办法在一个不属于本机的IP上监听请求。

具体解决方案

根据你的使用场景,选下面的方法就行:

  • 开发调试首选:绑定本地地址或默认所有接口
    如果你只是在本地开发测试,完全不需要指定那个公网IP。修改你server.js里的监听代码:

    // 方案1:绑定本地回环地址(只能本机访问)
    server.listen(3001, 'localhost', () => {
      console.log('服务器在localhost:3001启动');
    });
    
    // 方案2:不指定IP,默认绑定所有可用接口(同一局域网内设备也能访问)
    server.listen(3001, () => {
      console.log('服务器在3001端口启动');
    });
    

    改完后再执行node server,应该就能正常启动了。

  • 如果确实需要绑定特定公网IP
    先确认这个18.194.133.202是不是你的Mac实际分配到的公网IP。你可以在终端执行ifconfig(macOS),查看所有网络接口的IP信息,找到当前正在使用的网络(比如Wi-Fi对应的en0)的IP地址,替换到代码里。

  • 额外排查:确认端口是否被占用
    虽然这个报错主要是IP的问题,但也可以顺便检查下3001端口有没有被其他程序占用:
    在终端执行:

    lsof -i :3001
    

    如果有输出,说明端口被占用,要么杀掉对应进程,要么换个端口号(比如3002)。

内容的提问来源于stack exchange,提问作者Vladimir Dima

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:34:53