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

按Heroku Node.js教程操作后运行heroku local报EADDRINUSE错误

问题根因

Error: listen EADDRINUSE: address already in use :::5000和代码正确性、是否重新创建全新应用没有关系,本质是本地的5000端口已经被其他正在运行的进程占用——heroku local默认会把web服务绑定到5000端口,只要端口被占,无论跑什么代码都会触发这个报错。

解决方法
  • 方法1:释放被占用的5000端口
    打开终端执行命令查询占用5000端口的进程:
    lsof -i :5000
    
    命令返回结果中PID列对应的数字就是占用端口的进程ID,执行以下命令强制结束该进程即可:
    kill -9 <替换为查询到的PID数值>
    

    注意:macOS 12及以上版本默认开启的AirPlay接收器服务会常驻占用5000端口,如果发现杀进程后端口马上又被占用,直接打开「系统设置」→「通用」→「隔空投送与接力」,关闭「AirPlay接收器」开关就能释放5000端口。另外如果之前运行heroku local时没有通过Ctrl+C正常退出,后台残留的Node.js进程也会持续占用端口,用上面的kill命令清理即可。

  • 方法2:指定其他端口启动服务
    如果不想关闭占用5000端口的进程,可以在启动heroku local时通过-p参数指定其他未被占用的端口,比如用5001端口启动:
    heroku local -p 5001
    

内容的提问来源于stack exchange,提问作者Filipo Marcellino

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 06:00:54