DeepSeekDSH
独立社区指南与 DeepSeek 无隶属关系。下载版本与教程参考

EADDRINUSE: address already in use 127.0.0.1:3080

DSH 启动报 EADDRINUSE 或 EACCES :3080 时,先检查监听进程与 Windows 保留端口。确认旧 DSH 进程后再停止服务,或改用空闲端口重新启动。页面列出端口占用检查命令、Windows 排除端口的排查方法和修改启动端口的示例;重启后访问终端打印的新地址,确认 Web UI 已可连接。

本页内容

核对错误信息

在页面或终端中查找下面的错误码或提示词。完整信息可能因操作系统和版本不同而略有差异。

EADDRINUSE: address already in use 127.0.0.1:3080
EADDRINUSE
address already in use
port 3080 is already in use
EACCES :3080

搜索或求助时尽量复制完整报错,同时删除 API Key、私有仓库名、用户名和敏感路径。

处理要点

EADDRINUSE 通常表示有进程监听 3080;Windows 上的 EACCES 也可能表示 Hyper-V、WSL2 或 Docker 保留了该端口。先确认原因,只结束已经识别的旧进程;不确定时可直接改用 13080 等空闲端口。

错误含义

DSH 无法把本地 Web 服务绑定到指定端口。真实进程占用和 Windows 系统保留端口需要采用不同处理方式。

常见原因

  • 之前启动的 DSH 进程仍在运行。
  • 其他应用已经占用了 3080。
  • Windows 的保留 TCP 端口范围包含 3080。
  • 首次启动还没完成时又重复执行了启动命令。

对应文档与源码

DSH 相关链接固定到 0.1.5-rc.2 / c291e79;涉及系统和运行环境的说明见对应官方文档。

修复步骤

  1. 01

    Windows:查出监听进程和 PID

    在 PowerShell 中执行。OwningProcess 后面的数字就是 PID。

    Get-NetTCPConnection -LocalPort 3080 -State Listen | Select-Object LocalAddress,LocalPort,OwningProcess
  2. 02

    Windows:确认进程名称

    把 <PID> 替换为上一步的 OwningProcess。没有确认进程名称前,不要结束它。

    Get-Process -Id <PID>
  3. 03

    只结束已经确认的旧 DSH 进程

    只有确认该 PID 属于你准备关闭的旧 DSH 或 Node 进程后,才执行下面命令。

    Stop-Process -Id <PID>
  4. 04

    Windows:检查系统保留端口

    如果报错是 EACCES,而且没有进程监听 3080,检查它是否落在系统保留范围中。

    netsh interface ipv4 show excludedportrange protocol=tcp
  5. 05

    macOS 或 Linux:查看占用端口的进程

    命令会显示进程名称和 PID。确认进程身份后再决定是否关闭。

    lsof -nP -iTCP:3080 -sTCP:LISTEN
  6. 06

    换一个端口启动

    3080 不可用时,直接使用其他空闲端口,并打开 DSH 最终打印的准确地址。

    npx @deepseek-ai/dsh web --port 13080

检查结果

  • 终端打印 Web UI 地址,且不再出现 EADDRINUSE 或 EACCES。
  • 浏览器可以打开终端实际打印的 URL。
不要做什么
  • 没有确认进程名称前,不要直接结束未知 PID。
  • 首次下载或启动尚未完成时,不要连续启动多个 DSH。
  • 不要为了释放一个端口就随意关闭 Hyper-V、WSL2 或 Docker,换端口通常更安全。

常见问题速查

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-11 对照官方仓库核验。网站使用的已发布版本基线为 0.1.5-rc.1;源码核验快照为 0.1.5-rc.2(c291e79)。

官方 README、核验时的源码、GitHub Discussions