安装OpenClaw后提示”command not found”是环境变量配置问题导致的。以下是系统性的解决方案:
问题诊断流程图
graph TDA[command not found] --> B{检查Node.js环境}B -->|node -v失败| C[重新安装Node.js]B -->|node -v成功| D{检查npm全局路径}D -->|npm config get prefix| E[路径是否在PATH中?]E -->|否| F[添加npm全局路径到PATH]E -->|是| G{检查PowerShell执行策略}G -->|Restricted| H[修改为RemoteSigned]G -->|已修改| I[重新安装OpenClaw]I --> J[验证安装成功]
分步解决方案
第一步:基础环境检查
-
验证Node.js安装(以管理员身份运行PowerShell):
node -v # 应显示 v22.x.x 或更高npm -v # 应显示版本号
如果提示”node不是命令”,说明Node.js未安装或环境变量未配置。
-
检查OpenClaw是否已安装:
npm list -g openclaw
如果显示版本号,说明已安装但路径未配置。
第二步:环境变量修复(最常见原因)
方案A:添加npm全局路径到PATH
-
获取npm全局安装路径:
npm config get prefix
通常返回:
C:\Users\你的用户名\AppData\Roaming\npm -
将此路径添加到系统PATH:
- 按
Win + X→ 选择”系统” → “高级系统设置” - 点击”环境变量” → 在”系统变量”中找到
Path - 点击”编辑” → “新建” → 粘贴上一步获取的路径
- 确认所有窗口
- 按
-
重启PowerShell使更改生效。
方案B:中文用户名特殊处理
如果Windows用户名是中文,需要设置OPENCLAW_HOME环境变量:
- 新建用户变量:
- 变量名:
OPENCLAW_HOME - 变量值:
C:\Users\纯英文路径(如C:\Users\openclaw)
- 变量名:
- 重启终端。
第三步:PowerShell执行策略调整
Windows默认阻止脚本执行,需要修改策略:
# 以管理员身份运行PowerShellGet-ExecutionPolicy # 查看当前策略(通常是Restricted)Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
输入A确认更改。
第四步:重新安装OpenClaw
如果上述步骤无效,重新安装:
# 卸载旧版本npm uninstall -g openclaw# 清理npm缓存npm cache clean --force# 重新安装(使用--ignore-scripts避免权限问题)npm install -g openclaw@latest --ignore-scripts
第五步:验证安装
# 方法1:使用npx临时运行npx openclaw --version# 方法2:检查可执行文件位置where openclaw# 方法3:直接运行openclaw --version
快速排查表
| 症状 | 可能原因 | 解决方案 |
|---|---|---|
node -v失败 |
Node.js未安装 | 重新安装Node.js 22+ |
npm -v失败但node -v成功 |
npm路径问题 | 方案A添加PATH |
| 仅在PowerShell失败 | 执行策略限制 | 方案C修改策略 |
| 中文用户名环境 | 路径编码问题 | 方案B设置OPENCLAW_HOME |
| 所有方法都失败 | 安装不完整 | 方案D重新安装 |
备用方案
如果仍无法解决,尝试:
- 使用CMD代替PowerShell:CMD不受执行策略影响
- 使用WSL2(推荐):
wsl --install # 安装WSL2wsl # 进入Linux环境# 在WSL中执行OpenClaw安装命令
- Docker方式:完全避免环境变量问题
关键提醒
- 始终以管理员身份运行PowerShell进行安装和配置
- 安装后关闭并重新打开终端使环境变量生效
- 如果使用代理,确保网络连接正常
- 安装过程可能需要几分钟,请耐心等待
按照以上步骤,99%的”command not found”问题都能解决。如果仍有问题,建议查看OpenClaw官方文档或社区寻求帮助。