OpenClaw 安装、运行、使用常见错误总结与解决方案(含Windows/macOS/Linux 全平台)

Written by

in

文章目录
  • OpenClaw 虽然安装简单(npm install -g openclaw),但在实际使用中,新手常会遇到各种「玄学」问题。本文按阶段分类,提供可操作的解决方案,涵盖 Windows/macOS/Linux 全平台。
  • 查文档:https://docs.openclaw.ai (llms.txt 有完整目录) 搜 Issues:https://github.com/openclaw/openclaw/issues Discord:https://discord.gg/clawd (社区响应快) 运行 openclaw doctor:自动检测常见配置错误 更新到最新版:很多 Bug 已修复
  • { “gateway”: { “port”: 18789, “host”: “127.0.0.1” }, “models”: { “default”: “openrouter/anthropic/claude-3-opus” }, “providers”: { “openrouter”: { “apiKey”: “sk-or-v1-XXXXXXXXXXXXXXXX” } }, “channels”: { “whatsapp”: { “dmPolicy”: “pairing” }, “telegram”: { “dmPolicy”: “pairing” } }, “session”: { “prune”: { “enabled”: true } } } 到此这篇关于OpenClaw 安装、运行、使用常见错误总结与解决方案(含Windows/macOS/Linux 全平台)的文章就介绍到这了,更多相关OpenClaw 安装 运行 使用内容请搜索风君子博客以前的文章或继续浏览下面的相关文章,希望大家以后多多支持风君子博客!
  • 目录
    • 前言
    • 一、安装阶段错误
      • ❌ 1.1npm install -g openclaw失败
      • ❌ 1.2 Windows PowerShell 执行策略阻止
      • ❌ 1.3 安装脚本 (install.sh/install.ps1) 失败
    • 二、初始化与 Onboarding 错误
      • ❌ 2.1openclaw onboard卡住或超时
      • ❌ 2.2 Gateway 服务启动失败
    • 三、运行与启动错误
      • ❌ 3.1openclaw gateway报错EADDRINUSE
      • ❌ 3.2 Gateway 启动后立即退出
      • ❌ 3.3openclaw: command not found
    • 四、配置与认证错误
      • ❌ 4.1 模型 API Key 无效
      • ❌ 4.2 OAuth 认证弹窗不出现/失败
      • ❌ 4.3 配置文件openclaw.json语法错误
    • 五、控制面板与 Web UI 错误
      • ❌ 5.1 Control UI 打不开(http://127.0.0.1:18789)
      • ❌ 5.2 Control UI 登录/认证失败
    • 六、通道(频道)连接错误
      • ❌ 6.1 WhatsApp 登录二维码不出现
      • ❌ 6.2 Telegram Bot Token 无效
      • ❌ 6.3 Discord 频道权限错误
    • 七、Skills 相关错误
      • ❌ 7.1clawhub: command not found
      • ❌ 7.2 Skill 安装后不生效
      • ❌ 7.3 Skill 依赖的命令找不到(如curl)
    • 八、性能与资源错误
      • ❌ 8.1 Gateway 内存占用过高
      • ❌ 8.2 响应速度慢/超时
    • 九、安全与权限错误
      • ❌ 9.1openclaw doctor报高风险警告
      • ❌ 9.2 Linux 服务权限错误
    • 十、平台特定问题
      • ❌ 10.1 Windows:Node 进程被杀毒软件误杀
      • ❌ 10.2 macOS:权限弹窗无法接受
      • ❌ 10.3 Docker 部署容器退出
    • 通用调试大法
      • 1️⃣ 查看实时日志
      • 2️⃣ 健康检查
      • 3️⃣ 检查环境变量
      • 4️⃣ 重置到干净状态
      • 5️⃣ 版本检查与更新
      • 6️⃣ 最小化测试
    • 紧急求助入口
      • 附录:配置文件最小模板

        OpenClaw 虽然安装简单(npm install -g openclaw),但在实际使用中,新手常会遇到各种「玄学」问题。本文按阶段分类,提供可操作的解决方案,涵盖 Windows/macOS/Linux 全平台。

        症状

        npm ERR! code ENOTFOUND
        npm ERR! network request to https://registry.npmjs.org/openclaw failed

        原因

        • npm 源被污染或网络代理问题
        • Node 版本过低(OpenClaw 需要 ≥22)
        • 权限不足(Linux/macOS)

        解决方案

        # 1. 检查 Node 版本(必须 ≥22)
        node --version  # 应输出 v22.x 或更高
        # 2. 换 npm 源(国内用户推荐)
        npm config set registry https://registry.npmmirror.com
        # 3. 清除 npm 缓存
        npm cache clean --force
        # 4. 重试安装
        npm install -g openclaw@latest
        # 5. Linux/macOS 权限问题:用 sudo 或配置 npm 全局目录
        # 方案 A(临时):
        sudo npm install -g openclaw@latest
        # 方案 B(推荐):更改 npm 全局目录(不用 sudo)
        mkdir ~/.npm-global
        npm config set prefix '~/.npm-global'
        # 然后添加 PATH 到 ~/.bashrc 或 ~/.zshrc
        export PATH=~/.npm-global/bin:$PATH

        验证

        openclaw --version  # 应输出版本号,如 v2025.3.7

        症状

        File C:UsersAppDataRoamingnpmopenclaw.ps1 cannot be loaded because running scripts is disabled on this system.
        

        解决方案

        # 以管理员身份运行 PowerShell:
        Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
        # 然后重新安装
        npm install -g openclaw

        症状:使用官方一键安装脚本时报错

        Windows PowerShell 方案

        # 确保 TLS 1.2+ 启用
        [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
        # 重新执行安装
        iwr -useb https://openclaw.ai/install.ps1 | iex

        macOS/Linux 方案

        # 确保 curl 可用且网络通畅
        curl -V
        # 如果失败,手动安装:
        npm install -g openclaw
        openclaw onboard --install-daemon

        症状:运行 openclaw onboard --install-daemon 后, wizard 卡在某一步

        原因

        • 网络问题(需下载 Pi 二进制)
        • 认证流程失败(OAuth/API key)
        • 端口冲突

        解决方案

        # 1. 检查网络:能访问 https://api.pi.ai 吗?
        curl -I https://api.pi.ai
        # 2. 手动跳过有问题的步骤(例如 auth)
        openclaw configure --section models
        # 3. 查看 onboarding 日志
        openclaw logs --tail 100
        # 4. 重置并重新开始
        openclaw reset --confirm
        openclaw onboard --install-daemon

        跳过 Pi 下载的变通方法

        # 编辑 ~/.openclaw/openclaw.json,手动配置模型:
        # {
        #   "models": {
        #     "default": "openrouter/anthropic/claude-3-opus"
        #   },
        #   "gateway": { "port": 18789 }
        # }

        症状

        openclaw gateway status
        # → Error: Gateway not running

        诊断步骤

        # 1. 检查端口是否被占用(默认 18789)
        # Windows:
        netstat -ano | findstr :18789
        # macOS/Linux:
        lsof -i :18789
        # 2. 如果被占用,改端口或停掉占用进程
        openclaw gateway --port 18790  # 改端口
        # 3. 查看服务状态(systemd/launchd)
        # Linux:
        systemctl --user status openclaw
        # macOS:
        launchctl list | grep openclaw
        # 4. 手动启动(前台,看错误输出)
        openclaw gateway --verbose

        常见修复

        # 方案 A:修复 service 文件
        openclaw daemon uninstall
        openclaw daemon install
        openclaw daemon start
        # 方案 B:清理 lock 文件(macOS)
        rm -f ~/Library/Containers/com.openclaw.gateway/Data/lock
        # 方案 C:重置权限
        sudo chown -R $(whoami) ~/.openclaw

        症状

        Error: listen EADDRINUSE: address already in use :::18789

        解决方案

        # 1. 找到并杀掉占用进程
        # Windows:
        taskkill /PID <PID> /F
        # macOS/Linux:
        kill -9 <PID>
        # 2. 或者改用其他端口
        openclaw gateway --port 18790
        # 3. 持久化改端口(修改配置)
        openclaw configure --section gateway
        # 设置 port: 18790

        症状gateway status 显示 stopped,日志中无内容

        原因

        • openclaw.json 配置错误(JSON 语法)
        • 权限问题(config 文件不可读)
        • 二进制损坏

        诊断

        # 1. 验证配置文件 JSON 语法
        cat ~/.openclaw/openclaw.json | python -m json.tool  # 如果输出内容则语法正确
        # 2. 检查文件权限
        ls -la ~/.openclaw/openclaw.json
        # 3. 查看系统日志
        # macOS:
        log show --predicate 'process == "openclaw"' --last 1h
        # Linux (systemd):
        journalctl --user -u openclaw -n 50
        # Windows:
        Get-EventLog -LogName Application -Source openclaw -Newest 20

        修复

        # 备份并重置配置
        mv ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup
        openclaw onboard  # 重新初始化

        症状:命令行找不到 openclaw 命令

        原因

        • npm 全局 bin 目录不在 PATH 中
        • 安装失败

        解决方案

        # 1. 确认 npm 全局 bin 路径
        npm config get prefix
        # 输出如 /usr/local 或 C:UsersxxxAppDataRoamingnpm
        # 2. 添加 PATH
        # macOS/Linux(~/.bashrc 或 ~/.zshrc):
        export PATH=$(npm config get prefix)/bin:$PATH
        source ~/.bashrc
        # Windows(PowerShell):
        $env:Path += ";" + (npm config get prefix)
        # 永久添加:系统属性 → 环境变量 → 编辑 Path
        # 3. 验证
        which openclaw  # macOS/Linux
        where openclaw  # Windows

        症状

        Agent error: 401 Unauthorized from provider

        解决方案

        # 1. 重新配置模型
        openclaw configure --section models
        # 2. 检查 OPENAI_API_KEY / ANTHROPIC_API_KEY 等环境变量
        echo $OPENAI_API_KEY  # macOS/Linux
        echo %OPENAI_API_KEY%  # Windows
        # 3. 手动设置(推荐用 configure 交互)
        openclaw secrets set OPENAI_API_KEY sk-...
        # 或编辑 ~/.openclaw/openclaw.json 的 models 字段
        # 4. 测试连接
        openclaw models test --provider openai

        如果你用 OpenRouter

        {
          "models": {
            "default": "openrouter/anthropic/claude-3-opus"
          },
          "providers": {
            "openrouter": {
              "apiKey": "sk-or-v1-..."
            }
          }
        }

        症状openclaw configure 后,浏览器没打开或授权失败

        原因

        • 防火墙/代理拦截
        • 浏览器扩展干扰(如隐私保护插件)
        • 回调 URL 不匹配

        解决方案

        # 1. 强制使用浏览器打开
        openclaw configure --section models --browser
        # 2. 手动复制 URL:从日志中复制 `Visit this URL`,用无痕模式打开
        openclaw logs --tail 20
        # 3. 使用 API Key 代替 OAuth(简单粗暴)
        # 直接设置 secrets,跳过 OAuth 流程:
        openclaw secrets set OPENAI_API_KEY <your-key>

        症状:Gateway 启动失败,日志报 Unexpected tokenParse error

        解决方案

        # 1. 验证 JSON
        cat ~/.openclaw/openclaw.json | python -m json.tool
        # 2. 如果错误,用格式化工具修复
        # VS Code 打开并格式化(Shift+Alt+F)
        # 或在线工具:https://jsonlint.com/
        # 3. 常见错误示例:
        # 错误(末尾逗号):
        #   "port": 18789,
        #   }
        # 正确:
        #   "port": 18789
        #   }
        # 4. 最小配置模板:
        cat > ~/.openclaw/openclaw.json << 'EOF'
        {
          "gateway": { "port": 18789 },
          "models": { "default": "openrouter/anthropic/claude-3-opus" },
          "providers": {
            "openrouter": { "apiKey": "YOUR_KEY_HERE" }
          }
        }
        EOF

        症状:浏览器访问本地地址显示「无法连接」

        原因

        • Gateway 未启动
        • 端口不对
        • 防火墙阻止

        诊断

        # 1. 确认 Gateway 运行
        openclaw gateway status
        # 2. 检查端口监听
        # Windows:
        netstat -ano | findstr LISTENING | findstr 18789
        # macOS/Linux:
        ss -tlpn | grep 18789
        # 3. 本地访问测试(不依赖浏览器)
        curl http://127.0.0.1:18789/health  # 应返回 JSON

        解决方案

        # 启动 Gateway(如果没启动)
        openclaw gateway
        # 或使用 dashboard 命令(自动打开浏览器)
        openclaw dashboard

        远程访问:见 Remote Access 文档,需配置 host 字段和 Tailscale/SSH tunnel。

        症状:打不开界面或提示「未授权」

        原因

        • 未运行 onboarding
        • Gateway 未生成 token
        • 浏览器缓存问题

        解决方案

        # 1. 重新运行 wizard
        openclaw onboard --reset
        # 2. 手动生成 token
        openclaw gateway --generate-token
        # 3. 清空浏览器缓存或使用无痕模式
        # 或更换端口:
        openclaw gateway --port 18790 --verbose

        症状:运行 openclaw channels login whatsapp 后没反应

        原因

        • Chrome/Chromium 未安装
        • chromium 二进制不在 PATH
        • 环境无显示(如纯服务器)

        解决方案

        # 1. 检查 Chrome 安装
        # Windows: 确认 Chrome 安装路径在注册表中
        # macOS: ls /Applications/Google Chrome.app
        # Linux: which chromium-browser || which google-chrome
        # 2. 手动安装 Chromium(Linux)
        sudo apt install chromium-browser  # Debian/Ubuntu
        sudo dnf install chromium          # Fedora
        # 3. 无头服务器:使用配对流程中的 `--no-browser` 模式
        openclaw channels login whatsapp --no-browser
        # 然后根据终端输出的 URL 用另一台设备登录
        # 4. 降级使用:改用 WhatsApp Web 手动扫码(如果支持)

        症状

        Error: [telegram] Invalid bot token
        

        解决方案

        # 1. 重新生成 Bot Token
        # 打开 Telegram,搜索 @BotFather
        # /newbot → 选名称 → 获取 token
        # 2. 配置
        openclaw configure --section channels.telegram
        # 输入正确的 botToken
        # 3. 验证
        curl "https://api.telegram.org/bot<YOUR_TOKEN>/getMe"
        # 应返回 bot 信息

        症状

        Discord error: 50013: Missing Permissions
        

        原因

        • Bot 角色权限不足
        • 角色层级低于被封禁/踢出成员

        解决方案

        # 1. 检查并提升 Bot 角色位置(Server Settings → Roles)
        # 将 Bot 角色拖到最顶部(或至少高于其他人)
        # 2. 赋予必要权限:
        # - Read Messages/View Channels
        # - Send Messages
        # - Embed Links
        # - Attach Files
        # - Read Message History
        # - Mention Everyone
        # - Use External Emojis
        # 3. 重新邀请 Bot(用管理员权限生成邀请链接)
        # https://discord.com/developers/applications → OAuth2 → URL Generator
        # 勾选:bot, applications.commands
        # Bot Permissions: Administrator(测试阶段)

        症状:无法使用 clawhub 命令管理 skills

        解决方案

        # 1. 安装 clawhub(独立于 openclaw CLI)
        npm install -g clawhub
        # 2. 验证
        clawhub --version
        # 3. 如果 npm 源问题,换源
        npm config set registry https://registry.npmmirror.com

        症状clawhub list 显示已安装,但 Gateway 不加载

        原因

        • Skill 目录不在 ~/.openclaw/workspace/skills/
        • Skill 的 SKILL.md 格式错误
        • Gateway 未重载 skills

        解决方案

        # 1. 检查 skills 目录
        ls ~/.openclaw/workspace/skills/  # 应看到你的 skill 文件夹
        # 2. 验证 SKILL.md 必需字段
        cat ~/.openclaw/workspace/skills/my-skill/SKILL.md
        # 必须包含:name, description, version
        # 3. 重载 skills
        openclaw skills reload
        # 4. 查看加载状态
        openclaw skills list

        调试

        # 查看 Gateway 日志中的 skill 加载错误
        openclaw logs --tail 100 | grep -i skill
        

        症状

        Skill error: exec: "curl": executable file not found in $PATH
        

        解决方案

        # 1. 确认依赖程序已安装
        # curl:
        curl --version
        # 如果未安装:
        # Windows(PowerShell):
        #   Windows 10+ 自带 curl,或使用 Invoke-WebRequest
        # macOS:
        brew install curl
        # Linux:
        sudo apt install curl  # Debian/Ubuntu
        # 2. 确保在 PATH 中
        which curl  # 应输出路径
        # 3. Skill 配置文件(SKILL.md)的 requires.bins 声明要正确

        症状top 或任务管理器显示 openclaw 占用 >1GB 内存

        原因

        • 模型上下文过大
        • 会话未清理(大量历史)
        • 内存泄漏(需要更新)

        解决方案

        # 1. 启用会话修剪(session pruning)
        # 在 ~/.openclaw/openclaw.json 中:
        {
          "session": {
            "prune": {
              "enabled": true,
              "maxAgeMs": 86400000,  // 24 小时
              "maxMessages": 100
            }
          }
        }
        # 2. 重启 Gateway
        openclaw gateway restart
        # 3. 监控内存
        openclaw gateway status --verbose
        # 4. 更新到最新版(修复内存泄漏)
        openclaw update --channel stable

        症状:消息响应超过 30 秒,或直接报 timeout

        原因

        • 模型 API 慢(如 OpenRouter 排队)
        • 本地网络延迟
        • 工具执行时间长(如 browser)

        解决方案

        # 1. 调整超时设置
        openclaw configure --section agent
        # 设置:completionTimeout: 60000(ms)
        # 2. 切换到更快的模型
        openclaw configure --section models
        # 将 default 改为:openrouter/openai/gpt-4o-mini
        # 3. 检查网络
        ping api.openai.com
        # 如果延迟高,考虑翻墙或更换 API 服务商
        # 4. 分拆长任务(如大文件处理)
        # 用 sessions_spawn 分块处理,别一次喂太多

        症状

        ⚠  DM policy is "open" with a wildcard allowlist
        ⚠  No authentication configured
        

        解决方案

        # 1. 限制 DM 允许列表(whitelist)
        openclaw configure --section channels.whatsapp
        # 设置 allowFrom: ["+15551234567"]  # 只允许特定号码
        # 2. 启用 DM pairing 模式(需要配对码)
        # 在 openclaw.json 中:
        {
          "channels": {
            "whatsapp": { "dmPolicy": "pairing" }
          }
        }
        # 3. 为远程访问配置 TLS
        openclaw configure --section gateway.tls

        重新运行检查

        openclaw doctor  # 应显示 ✅
        

        症状:systemd 服务启动失败,日志显示 Permission denied

        解决方案

        # 1. 检查服务文件权限
        systemctl --user cat openclaw
        # 2. 修复 ~/.openclaw 目录权限
        sudo chown -R $(whoami):$(whoami) ~/.openclaw
        chmod -R 700 ~/.openclaw
        # 3. 重新安装服务
        openclaw daemon uninstall
        openclaw daemon install
        openclaw daemon start

        症状:Gateway 启动后几秒就退出,Windows Defender 弹出警告

        解决方案

        # 1. 添加排除项(以 Defender 为例)
        # 设置 → 隐私和安全性 → Windows 安全中心 → 病毒和威胁防护 → 管理设置 → 排除项
        # 添加:C:UsersxxxAppDataRoamingnpmnode_modulesopenclaw
        # 2. 或改用 WSL2(推荐)
        # 在 WSL2 Ubuntu 中安装 OpenClaw,性能更好且无杀毒软件干扰
        # 3. 以管理员身份运行(不推荐长期方案)
        Start-Process powershell -Verb RunAs -ArgumentList "openclaw gateway"

        症状:控制面板需要「完全磁盘访问」「辅助功能」等权限,但弹窗出不来

        解决方案

        # 1. 手动授权:
        # 系统设置 → 隐私与安全性 → 完全磁盘访问 → 添加 /usr/local/bin/openclaw
        # 系统设置 → 隐私与安全性 → 辅助功能 → 添加 Terminal 或 iTerm
        # 2. 重启终端后重试
        openclaw gateway --verbose
        # 3. 使用 openclaw tui(TUI 界面,无需 Web UI)
        openclaw tui

        症状docker run openclaw 启动后立即退出

        解决方案

        # 1. 前台运行看日志
        docker run --rm -it openclaw gateway --verbose
        # 2. 挂载配置目录(持久化)
        docker run -d 
          -v ~/.openclaw:/home/node/.openclaw 
          -p 18789:18789 
          --name openclaw 
          openclaw/openclaw:latest gateway
        # 3. 进入容器调试
        docker exec -it openclaw /bin/bash
        openclaw gateway status

        Docker 网络问题(如连不上模型 API)

        # 容器内测试网络
        docker exec openclaw curl -I https://api.openai.com
        # 如果失败:配置 host DNS 或代理
        docker run --dns 8.8.8.8 ...
        

        openclaw logs --tail 100 --follow
        

        openclaw doctor
        openclaw gateway health
        

        env | grep -i openclaw
        # 关注:OPENCLAW_HOME, OPENCLAW_CONFIG_PATH
        

        openclaw reset --confirm
        openclaw onboard --install-daemon
        

        openclaw --version
        openclaw update --channel stable
        

        # 禁用所有 channels,只留 Control UI
        # 编辑 openclaw.json:
        # {
        #   "channels": {}
        # }
        openclaw gateway --verbose
        openclaw dashboard
        

        1. 查文档:https://docs.openclaw.ai (llms.txt 有完整目录)
        2. 搜 Issues:https://github.com/openclaw/openclaw/issues
        3. Discord:https://discord.gg/clawd (社区响应快)
        4. 运行 openclaw doctor:自动检测常见配置错误
        5. 更新到最新版:很多 Bug 已修复

        {
          "gateway": {
            "port": 18789,
            "host": "127.0.0.1"
          },
          "models": {
            "default": "openrouter/anthropic/claude-3-opus"
          },
          "providers": {
            "openrouter": {
              "apiKey": "sk-or-v1-XXXXXXXXXXXXXXXX"
            }
          },
          "channels": {
            "whatsapp": { "dmPolicy": "pairing" },
            "telegram": { "dmPolicy": "pairing" }
          },
          "session": {
            "prune": { "enabled": true }
          }
        }

        到此这篇关于OpenClaw 安装、运行、使用常见错误总结与解决方案(含Windows/macOS/Linux 全平台)的文章就介绍到这了,更多相关OpenClaw 安装 运行 使用内容请搜索风君子博客以前的文章或继续浏览下面的相关文章,希望大家以后多多支持风君子博客!

        站内搜索