EADDRINUSE: address already in use 127.0.0.1:3080
解决 DeepSeek Harness 的 127.0.0.1:3080 端口被占用:查找监听进程、释放或更换端口,并区分 EADDRINUSE 与 Windows 保留端口导致的启动失败。
本页内容
先确认是不是 EADDRINUSE: address already in use 127.0.0.1:3080
这页只处理 EADDRINUSE: address already in use 127.0.0.1:3080 这一类报错。不同系统或 Node.js 版本可能多几个单词,但核心错误码或句式应该一致。
EADDRINUSE: address already in use 127.0.0.1:3080EADDRINUSEaddress already in useport 3080 is already in useEACCES :3080搜索或求助时尽量复制完整报错,同时删除 API Key、私有仓库名、用户名和敏感路径。
EADDRINUSE 通常表示有进程监听 3080;Windows 上的 EACCES 也可能表示 Hyper-V、WSL2 或 Docker 保留了该端口。先确认原因,只结束已经识别的旧进程;不确定时可直接改用 13080 等空闲端口。
EADDRINUSE: address already in use 127.0.0.1:3080 是什么意思
DSH 无法把本地 Web 服务绑定到指定端口。真实进程占用和 Windows 系统保留端口需要采用不同处理方式。
EADDRINUSE: address already in use 127.0.0.1:3080 的常见原因
- 之前启动的 DSH 进程仍在运行。
- 其他应用已经占用了 3080。
- Windows 的保留 TCP 端口范围包含 3080。
- 首次启动还没完成时又重复执行了启动命令。
EADDRINUSE: address already in use 127.0.0.1:3080 的源码依据
下面链接固定到本页核验使用的 0.1.2-alpha.5 / 49a606b。先确认 EADDRINUSE: address already in use 127.0.0.1:3080 是 DSH 自身行为,还是 Node.js、PowerShell、操作系统网络或文件权限产生的错误。
修复 EADDRINUSE: address already in use 127.0.0.1:3080
- 01
Windows:查出监听进程和 PID
在 PowerShell 中执行。OwningProcess 后面的数字就是 PID。
Get-NetTCPConnection -LocalPort 3080 -State Listen | Select-Object LocalAddress,LocalPort,OwningProcess - 02
Windows:确认进程名称
把 <PID> 替换为上一步的 OwningProcess。没有确认进程名称前,不要结束它。
Get-Process -Id <PID> - 03
只结束已经确认的旧 DSH 进程
只有确认该 PID 属于你准备关闭的旧 DSH 或 Node 进程后,才执行下面命令。
Stop-Process -Id <PID> - 04
Windows:检查系统保留端口
如果报错是 EACCES,而且没有进程监听 3080,检查它是否落在系统保留范围中。
netsh interface ipv4 show excludedportrange protocol=tcp - 05
macOS 或 Linux:查看占用端口的进程
命令会显示进程名称和 PID。确认进程身份后再决定是否关闭。
lsof -nP -iTCP:3080 -sTCP:LISTEN - 06
换一个端口启动
3080 不可用时,直接使用其他空闲端口,并打开 DSH 最终打印的准确地址。
npx @deepseek-ai/dsh web --port 13080
确认 EADDRINUSE: address already in use 127.0.0.1:3080 已经修好
- 终端打印 Web UI 地址,且不再出现 EADDRINUSE 或 EACCES。
- 浏览器可以打开终端实际打印的 URL。
- 没有确认进程名称前,不要直接结束未知 PID。
- 首次下载或启动尚未完成时,不要连续启动多个 DSH。
- 不要为了释放一个端口就随意关闭 Hyper-V、WSL2 或 Docker,换端口通常更安全。
EADDRINUSE: address already in use 127.0.0.1:3080 常见问题
EADDRINUSE: address already in use 127.0.0.1:3080 怎么修?
EADDRINUSE 通常表示有进程监听 3080;Windows 上的 EACCES 也可能表示 Hyper-V、WSL2 或 Docker 保留了该端口。先确认原因,只结束已经识别的旧进程;不确定时可直接改用 13080 等空闲端口。
EADDRINUSE: address already in use 127.0.0.1:3080 是什么意思?
DSH 无法把本地 Web 服务绑定到指定端口。真实进程占用和 Windows 系统保留端口需要采用不同处理方式。
怎么确认 EADDRINUSE: address already in use 127.0.0.1:3080 已经修好?
终端打印 Web UI 地址,且不再出现 EADDRINUSE 或 EACCES。 浏览器可以打开终端实际打印的 URL。
本页于 2026-09-03 对照官方仓库核验。网站使用的已发布版本基线为 0.1.1-rc.2;源码核验快照为 0.1.2-alpha.5(49a606b)。