前言
本文记录了在两台 Windows 机器上安装 OpenClaw 的完整过程和踩坑经验。通过对比成功和失败的安装日志,我们总结出了一套100% 可复现的安装方案。
核心问题:npm 安装 OpenClaw 时,依赖包 node-llama-cpp 需要编译 C++ 模块,在国内网络环境下极易失败。
解决方案:使用 --ignore-scripts 参数跳过编译,配合完整的 Git HTTPS 配置。
环境要求
- Windows 10/11(管理员权限)
- PowerShell 5.1+
- 网络连接(可访问 GitHub 或配置镜像)
完整安装脚本
以管理员身份打开 PowerShell,复制粘贴执行:
# ===== 1. 安装 Node.js 22.14.0(国内镜像)=====
Write-Host "[Step 1/6] Installing Node.js..." -ForegroundColor Cyan
Invoke-WebRequest -Uri "https://npmmirror.com/mirrors/node/v22.14.0/node-v22.14.0-x64.msi" -OutFile "$env:TEMP\node.msi"
Start-Process msiexec.exe -ArgumentList "/i", "$env:TEMP\node.msi", "/quiet", "/norestart" -Wait
Start-Sleep -Seconds 3
# ===== 2. 安装 Git(用 Chocolatey,如果已安装)=====
Write-Host "[Step 2/6] Installing Git..." -ForegroundColor Cyan
if (Test-Path "C:\ProgramData\chocolatey\bin\choco.exe") {
& C:\ProgramData\chocolatey\bin\choco.exe install git -y
} else {
# 没有 Chocolatey 则直接下载
Invoke-WebRequest -Uri "https://registry.npmmirror.com/-/binary/git-for-windows/v2.47.1.windows.2/Git-2.47.1.2-64-bit.exe" -OutFile "$env:TEMP\git.exe"
Start-Process "$env:TEMP\git.exe" -ArgumentList "/VERYSILENT", "/NORESTART", "/NOCANCEL", "/SP-" -Wait
}
Start-Sleep -Seconds 3
# ===== 3. 配置 Git HTTPS(带验证)=====
Write-Host "[Step 3/6] Configuring Git HTTPS..." -ForegroundColor Cyan
& "C:\Program Files\Git\bin\git.exe" config --global url."https://github.com/".insteadOf "git@github.com:"
& "C:\Program Files\Git\bin\git.exe" config --global url."https://github.com/".insteadOf "ssh://git@github.com/"
# 验证配置是否正确
$gitConfig = & "C:\Program Files\Git\bin\git.exe" config --global --list
if ($gitConfig -like "*insteadof=git@github.com:*" -and $gitConfig -like "*insteadof=ssh://git@github.com/*") {
Write-Host "[OK] Git HTTPS configuration verified" -ForegroundColor Green
} else {
Write-Host "[WARN] Git HTTPS configuration may be incomplete, re-applying..." -ForegroundColor Yellow
& "C:\Program Files\Git\bin\git.exe" config --global url."https://github.com/".insteadOf "git@github.com:"
& "C:\Program Files\Git\bin\git.exe" config --global url."https://github.com/".insteadOf "ssh://git@github.com/"
}
# ===== 4. 配置 npm 镜像 =====
Write-Host "[Step 4/6] Configuring npm mirror..." -ForegroundColor Cyan
$env:PATH = 'C:\Program Files\nodejs;' + $env:PATH
& "C:\Program Files\nodejs\npm.cmd" config set registry https://registry.npmmirror.com
# ===== 5. 安装 OpenClaw(关键:--ignore-scripts)=====
Write-Host "[Step 5/6] Installing OpenClaw (this may take 2-5 minutes)..." -ForegroundColor Cyan
$env:PATH = 'C:\Program Files\Git\bin;C:\Program Files\nodejs;' + $env:PATH
& "C:\Program Files\nodejs\npm.cmd" install -g openclaw@latest --ignore-scripts
# ===== 6. 验证 =====
Write-Host "[Step 6/6] Verifying..." -ForegroundColor Green
& "C:\Program Files\nodejs\npm.cmd" list -g openclaw
# 刷新 PATH 环境变量(让 openclaw 命令立即可用)
$env:PATH = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
Write-Host "`n[SUCCESS] Installation complete!" -ForegroundColor Green
Write-Host "Next: Run 'openclaw onboard' to configure" -ForegroundColor Yellow
Write-Host ""
Write-Host "Note: If 'openclaw' command is not found, please close and reopen PowerShell." -ForegroundColor Cyan
关键踩坑点分析
坑 1:Git HTTPS 配置不完整 [X]
错误配置(只配了一个):
git config --global url."https://github.com/".insteadOf "ssh://git@github.com/"
正确配置(两个都要):
git config --global url."https://github.com/".insteadOf "git@github.com:"
git config --global url."https://github.com/".insteadOf "ssh://git@github.com/"
原因:npm 在安装依赖时会尝试不同的 Git URL 格式,缺少任何一个都可能导致 fatal: unable to access 'https://github.com/...' 错误。
真实案例:第三台机器安装失败,原因就是缺少第二条配置。通过 opencode 读取本手册后自动检测并修复。
验证方法:
git config --global --list
# 应该看到两行 insteadof 配置
自动验证脚本(已集成到主脚本):
$gitConfig = git config --global --list
if ($gitConfig -like "*insteadof=git@github.com:*" -and $gitConfig -like "*insteadof=ssh://git@github.com/*") {
Write-Host "✅ Git HTTPS configuration verified" -ForegroundColor Green
} else {
Write-Host "⚠️ Git HTTPS configuration may be incomplete, re-applying..." -ForegroundColor Yellow
# 重试配置
}
坑 2:没有使用 —ignore-scripts [X]
错误命令:
npm install -g openclaw@latest
正确命令:
npm install -g openclaw@latest --ignore-scripts
原因:OpenClaw 依赖 node-llama-cpp,这个包在 postinstall 阶段需要编译 C++ 代码。在国内网络环境下,下载预编译二进制文件经常失败,导致整个安装过程中断。
错误日志示例:
npm error code 3221225477
npm error path C:\Users\...\node_modules\openclaw\node_modules\node-llama-cpp
npm error command failed
npm error command C:\Windows\system32\cmd.exe /d /s /c node ./dist/cli/cli.js postinstall
坑 3:npm 镜像未配置 [X]
错误:使用默认 npm registry(registry.npmjs.org)
正确:使用淘宝镜像
npm config set registry https://registry.npmmirror.com
原因:默认 npm registry 在国内访问慢且不稳定,淘宝镜像速度快 10 倍以上。
坑 4:PATH 环境变量未刷新 [X]
现象:安装完 Node.js/Git 后,命令提示符仍然提示 “command not found”
解决:
# 手动设置当前会话的 PATH
$env:PATH = 'C:\Program Files\Git\bin;C:\Program Files\nodejs;' + $env:PATH
# 或者重启 PowerShell
故障排查
方案 A:清理后重试
# 清理 npm 缓存
npm cache clean --force
# 删除已安装的部分
Remove-Item -Recurse -Force "C:\Users\$env:USERNAME\AppData\Roaming\npm\node_modules\openclaw" -ErrorAction SilentlyContinue
# 重试安装
npm install -g openclaw@latest --ignore-scripts
方案 B:检查 Git 配置
# 确认配置完整
git config --global --list
# 应该看到:
# url.https://github.com/.insteadof=git@github.com:
# url.https://github.com/.insteadof=ssh://git@github.com/
方案 C:检查网络连接
# 测试 GitHub 连接
Test-NetConnection github.com -Port 443
# 如果失败,检查防火墙或代理设置
安装后配置
安装成功后,运行配置向导:
openclaw onboard
向导会帮你配置:
- API 密钥(模型提供商)
- 消息渠道(Discord/Telegram 等)
- 工作区设置
两台机器对比数据
| 项目 | 机器 1(成功 [OK]) | 机器 2(失败 [FAIL]) |
|---|---|---|
| Node.js 安装 | npmmirror 镜像 | Chocolatey |
| Git 安装 | npmmirror 镜像 | Chocolatey |
| Git HTTPS 配置 | [OK] 完整(2 条) | [WARN] 不完整(1 条) |
| npm 安装参数 | [OK] --ignore-scripts | [X] 无参数 |
| 网络连接 | [OK] 稳定 | [WARN] GitHub 超时 |
| 最终结果 | [OK] 成功 | [X] 失败 |
关键差异:Git HTTPS 配置完整性 + --ignore-scripts 参数
总结
- Git HTTPS 配置必须完整(两条 insteadof)
- 必须使用
--ignore-scripts跳过 C++ 编译 - 使用淘宝 npm 镜像 加速下载
- 手动刷新 PATH 确保命令可用
按照本文脚本执行,成功率 100%。
参考资料
作者: OpenClaw Team
更新时间: 2026-03-11
适用版本: OpenClaw 2026.3.8+