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

JavaScript未处理'error'事件及EADDRINUSE错误的原因与解决咨询

解决 Node.js 的 EADDRINUSE: address already in use :::8080 错误

嘿,我来帮你搞定这个头疼的端口占用问题!先给你拆解下这个错误的来龙去脉,再给你几个实用的解决办法。

错误原因拆解

首先看你贴出的报错信息:

events.js:174 throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE: address already in use :::8080
at Server.setupListenHandle [as _listen2] (net.js:1279:14)
...(省略后续栈信息)

这个报错的核心很简单:你要启动的Node.js服务想绑定到8080端口,但这个端口已经被其他进程占用了。结合你提到的“之前的错误代码仍在运行”,大概率是你之前启动的服务实例没彻底停止,一直在后台占用着8080端口。

具体解决方法

1. 停止占用端口的旧进程(最直接)

因为你是在repl.it环境里运行代码,操作很简单:找到页面右上角的Stop按钮,点击它停止之前运行的服务实例。等旧进程彻底退出后,再重新运行你的代码,8080端口就会被释放出来供新服务使用。

2. 修改代码中的端口号

如果不想停止旧进程(或者停止后还是有冲突),可以直接改代码里的端口配置:
找到keep_alive.js里类似这样的代码行:

server.listen(8080);

把8080改成其他未被占用的端口,比如8081、3000或者5000,修改后重新运行代码就不会再出现端口冲突了。

3. 重启repl.it项目环境

如果上面两种方法都没效果,试试刷新repl.it的页面,或者点击项目页面底部的Restart按钮重启整个项目环境,这样可以彻底清除后台残留的进程,释放被占用的端口。

内容的提问来源于stack exchange,提问作者The HungryIronApple

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:05:49