首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >EADDRINUSE 或 Port 18789 is already in use

EADDRINUSE 或 Port 18789 is already in use

作者头像
jack.yang
发布2026-03-20 09:05:31
发布2026-03-20 09:05:31
3850
举报

在 Windows 上安装或启动 OpenClaw 时遇到“端口占用”(EADDRINUSE 或 Port 18789 is already in use)是非常常见的问题。这通常是因为之前的 OpenClaw 进程没有正常关闭,或者其他软件占用了默认端口。

请按照以下步骤快速解决:

1. 快速解决:查找并强制关闭占用进程

这是最直接有效的方法,通过命令行找出是谁占用了端口并将其“杀掉”。

步骤如下:

1. 查找占用端口的进程 ID (PID) 在 PowerShell 或 CMD 中输入以下命令并回车: netstat -ano | findstr :18789 * 结果解读:你会看到类似 TCP 0.0.0.0:18789 ... LISTENING 12345 的输出。最后那一列数字(例如 12345)就是 PID(进程ID)。

2. 强制结束进程 将下面的 [PID] 替换为你刚才查到的数字,然后执行: taskkill /F /PID [PID] * 例如:taskkill /F /PID 12345 * 如果提示“成功终止”,说明端口已释放。

3. 重新启动 OpenClaw 再次输入启动命令: openclaw start

2. 替代方案:修改 OpenClaw 启动端口

如果你不想关闭占用端口的程序,或者找不到原因,可以直接让 OpenClaw 换一个端口运行。

方法 A:使用命令行参数(推荐) 在启动时指定一个新端口(例如 18790): openclaw gateway --port 18790

启动后,浏览器访问地址变为:http://127.0.0.1:18790。

方法 B:修改配置文件 1. 找到 OpenClaw 的配置文件(通常在用户目录下的 .openclaw 文件夹中)。 2. 打开 openclaw.json(或相关配置项)。 3. 找到 gateway 下的 port 设置,将 18789 修改为 18790 或其他未被占用的端口。 4. 保存并重启服务。

3. 特殊情况排查

如果上述方法无效,可能是以下原因导致的:

* 残留的旧版本进程: 如果你之前安装过旧版本(如 Cladbot)或其他 Node.js 应用,可能有残留进程。 * 解决:在任务管理器中结束所有 node.exe 进程,或者直接重启电脑。 * 权限不足: 有时系统会拦截端口绑定。 * 解决:右键点击 PowerShell 图标,选择 “以管理员身份运行”,然后再执行启动命令。 * 防火墙拦截: Windows 防火墙可能阻止了 OpenClaw 监听端口。 * 解决:在控制面板的防火墙设置中,允许 Node.js 通过防火墙,或暂时关闭防火墙测试。

通常情况下,使用 方法 1 即可瞬间解决问题。如果解决后仍然报错,建议重启电脑后再试。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档