在安装openclaw的时候报如下错误:
markdown
PS C:\WINDOWS\system32> ^C
PS C:\WINDOWS\system32> openclaw --version
openclaw : 无法将"openclaw"项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保
路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ openclaw --version
+ ~~~~~~~~
+ CategoryInfo : ObjectNotFound: (openclaw:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
这是 PATH 环境变量的问题。pnpm 全局安装的路径不在系统的 PATH 中,所以找不到 openclaw 命令。
🔍 问题原因
pnpm 的全局安装路径与 npm 不同,需要手动配置环境变量。
✅ 解决方案
方法 1:使用 npm 直接安装(推荐)
powershell
# 使用 npm 安装 OpenClaw
npm install -g openclaw@latest
# 验证安装
openclaw --version
方法 2:配置 pnpm 全局路径
如果必须使用 pnpm,需要配置环境变量:
powershell
# 1. 查看 pnpm 的全局安装路径
pnpm root -g
# 2. 查看 pnpm 的全局 bin 路径
pnpm bin -g
# 3. 将这个路径添加到 PATH(临时,仅当前会话)
$env:PATH += ";$(pnpm bin -g)"
# 4. 验证
openclaw --version
方法 3:永久配置 PATH(推荐)
powershell
# 1. 获取 pnpm 的全局 bin 路径
$pnpmPath = pnpm bin -g
# 2. 添加到用户环境变量(永久)
[System.Environment]::SetEnvironmentVariable('Path', $env:Path + ";$pnpmPath", [System.EnvironmentVariableTarget]::User)
# 3. 重新打开 PowerShell 或刷新环境变量
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","User") + ";" + [System.Environment]::GetEnvironmentVariable("Path","Machine")
# 4. 验证
openclaw --version
方法 4:使用完整路径运行
powershell
# 使用完整路径运行
& "$(pnpm bin -g)\openclaw.cmd" --version
🎯 推荐操作步骤
我建议使用方法 1(npm 安装),因为更简单:
powershell
# 1. 使用 npm 安装 OpenClaw
npm install -g openclaw@latest
# 2. 验证安装
openclaw --version
# 3. 如果成功,会显示版本号
# openclaw/2026.3.13 win32-x64 node-v20.x.x
📋 检查当前安装状态
powershell
# 检查 pnpm 全局安装了什么
pnpm list -g --depth=0
# 检查 npm 全局安装了什么
npm list -g --depth=0
🔧 如果方法 1 也不行
如果 npm 安装后仍然找不到命令:
powershell
# 1. 查看 npm 的全局路径
npm config get prefix
# 2. 查看 npm 的全局 bin 路径
npm bin -g
# 3. 手动添加到 PATH(临时)
$env:PATH += ";$(npm bin -g)"
# 4. 验证
openclaw --version
💡 最佳实践建议
对于 Windows 用户,我建议:
- 使用 npm 而不是 pnpm 进行全局包安装
- 如果必须使用 pnpm,配置好环境变量
- 重新打开 PowerShell 确保环境变量生效