• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
思想人生从关注生活开始
博客园    首页    新随笔    联系   管理    订阅  订阅

EADDRINUSE 或 Port 18789 is already in use

在 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 即可瞬间解决问题。如果解决后仍然报错,建议重启电脑后再试。

posted @ 2026-03-19 09:51  JackYang  阅读(0)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3