AI Agent社区 Agent 实战 OpenClaw 安装后无法启动?这 5 个报错我帮你踩完了

OpenClaw 安装后无法启动?这 5 个报错我帮你踩完了

OpenClaw 火了之后,每天后台都会收到一堆同样的问题——

"老师,我按教程装了,为什么跑不起来?"
"报错 SyntaxError: Unexpected token,怎么办?"
"Windows 上安装死活失败,我快放弃了……"

这篇文章把我自己踩过、以及社区里问得最多的 5 个高频报错,逐一给你说清楚。照着来,99% 的安装问题都能解决。


报错一:SyntaxError: Unexpected token 或 Cannot use import statement

现象

运行 openclaw start 后,终端输出类似:

SyntaxError: Unexpected token '.'
at wrapSafe (internal/modules/cjs/loader.js:915:16)

根本原因

你的 Node.js 版本太低了。

OpenClaw 使用了 Optional Chaining(?.)、Top-level await、native fetch 等现代 JS 特性,要求 Node.js v22 或以上。很多用户的电脑上装的是 Node 18 或 20,就会报这个错。

解决方案

第一步:检查当前 Node 版本

node -v

如果输出 v18.x.xv20.x.x,就需要升级。

第二步:升级 Node.js

推荐使用 nvm(Node Version Manager)管理版本,不容易出问题:

# 安装 nvm(如果没有)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash

# 安装 Node 22
nvm install 22

# 切换到 Node 22
nvm use 22

# 验证
node -v  # 应该显示 v22.x.x

第三步:重新安装 OpenClaw

npm install -g openclaw
openclaw start

注意:如果你用 Homebrew 装的 Node,运行 brew upgrade node 也可以,但要确认版本是 v22+。


报错二:Windows 用户 openclaw: command not found 或安装卡住

现象

在 PowerShell 或 CMD 中运行安装命令,要么卡住不动,要么报 command not found

根本原因

OpenClaw 不支持原生 Windows 环境(PowerShell/CMD),必须在 WSL2(Windows Subsystem for Linux) 中运行。

很多教程省略了这一步,导致大量 Windows 用户踩坑。

解决方案

第一步:安装 WSL2

以管理员身份打开 PowerShell,运行:

wsl --install

安装完成后重启电脑

第二步:打开 Ubuntu 终端

重启后,在开始菜单找到 "Ubuntu",打开它(第一次会要求设置用户名和密码)。

第三步:在 Ubuntu 中安装 Node.js 和 OpenClaw

# 更新包管理器
sudo apt update && sudo apt upgrade -y

# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
source ~/.bashrc

# 安装 Node 22
nvm install 22
nvm use 22

# 安装 OpenClaw
npm install -g openclaw

# 启动
openclaw start

提示:以后每次使用 OpenClaw,都要在 WSL2 的 Ubuntu 终端里操作,不要用 PowerShell。


报错三:Gateway failed to start / Parse error in openclaw.json

现象

启动时报错:

[Gateway] ✗ Failed to start
Parse error: Unexpected token } in JSON at position 312

根本原因

配置文件 ~/.openclaw/openclaw.json 格式有误,通常是因为手动编辑时多了逗号、少了引号,或者直接复制粘贴时带入了中文引号。

解决方案

第一步:找到配置文件

cat ~/.openclaw/openclaw.json

第二步:用 JSON 校验工具检查

把文件内容复制到 jsonlint.com 在线校验,它会直接告诉你哪一行有问题。

常见错误示例:

// 错误:最后一个配置项后面多了逗号
{
  "model": "claude-3-5-sonnet",
  "memory": true,
}

// 正确
{
  "model": "claude-3-5-sonnet",
  "memory": true
}

第三步:修复后重启

openclaw restart

预防措施:建议用 VS Code 打开 JSON 文件,有语法高亮和自动格式化,比直接用 vim 安全多了。


报错四:Dashboard 连接失败 / 打开 localhost:18789 显示无法连接

现象

运行 openclaw start 后看似正常,但打开 http://localhost:18789 提示"无法连接到此网站"。

根本原因

常见原因有两个:

  1. Gateway 没有正常启动(通常是端口被占用)
  2. Gateway Token 不匹配

解决方案

排查1:检查服务是否真的在运行

openclaw status

如果显示 Gateway 未运行,查看日志定位具体原因:

openclaw logs

排查2:检查端口是否被占用

# 检查 18789 端口占用情况
lsof -i :18789

如果有其他程序占用,先关掉它再启动 OpenClaw。

排查3:Token 不匹配问题

如果日志显示 401 Unauthorized,是 Token 配置问题:

# 查看当前 token
openclaw config show | grep token

# 重新生成 token
openclaw config reset-token
openclaw restart

报错五:Docker 部署时容器崩溃,退出码 137

现象

使用 Docker 部署 OpenClaw,容器不断重启,查看日志显示 Killed 或退出码为 137

根本原因

内存不足(OOM)。OpenClaw 容器至少需要 2GB 内存,如果你的服务器或 Docker Desktop 分配的内存少于这个值,就会被系统强制杀掉(OOM Kill)。

解决方案

Docker Desktop 用户(macOS/Windows):

  1. 打开 Docker Desktop → Settings → Resources
  2. 将 Memory 调整到 4GB 及以上
  3. 点击 Apply & Restart

Linux 服务器用户:

检查服务器内存:

free -h

如果内存确实不够,可以在 docker-compose.yml 中设置内存限制:

services:
  openclaw:
    image: openclaw/openclaw:latest
    mem_limit: 2g
    mem_reservation: 1g

排查路线图(建议收藏)

遇到 OpenClaw 启动失败,按以下路径排查:

  • 报 SyntaxError → 检查 Node.js 版本(需要 v22+)
  • Windows 安装失败 → 必须用 WSL2
  • Gateway 启动失败 → 先看日志 openclaw logs,再查 JSON 格式、端口占用
  • Dashboard 打不开 → 检查服务状态、Token 是否匹配
  • Docker 容器崩溃 → 检查内存(需要 2GB+)

还没解决?

如果以上方法都试过了还是不行,可以:

  1. 在评论区留言,描述你的报错信息
  2. 查看 OpenClaw 官方 FAQ 文档
  3. 去 GitHub Issues 搜索相似问题

本文持续更新,如果你遇到了其他报错,欢迎在评论区告知,我会第一时间补充进来。


📖 相关文章推荐

上一篇
下一篇

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

1条评论

返回顶部