openclaw : 无法将“openclaw“项识别为 cmdlet、函数、脚本文件或可运行程序的名称 解决方案
openclaw : 无法将openclaw项识别为 cmdlet、函数、脚本文件或可运行程序的名称 解决方案问题描述在 Windows PowerShell 中通过 npm 成功安装 OpenClaw 后执行openclaw命令时出现openclaw : 无法将openclaw项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 请检查名称的拼写如果包括路径请确保路径正确然后再试一次。 所在位置 行:1 字符: 1 openclaw ~~~~~~~~ CategoryInfo : ObjectNotFound: (openclaw:String) [], CommandNotFoundException FullyQualifiedErrorId : CommandNotFoundException其他类似报错openclaw-cn : 无法将openclaw-cn项识别为...openclaw-uninstall : 无法将openclaw-uninstall项识别为...opencode : 无法将opencode项识别为...原因分析这个错误的根本原因是npm 全局安装的可执行文件目录不在 PowerShell 的 PATH 环境变量中。npm 全局安装包的可执行文件通常放在系统默认路径WindowsC:\Users\你的用户名\AppData\Roaming\npm\macOS/usr/local/lib/node_modules/或~/.npm-global/bin/Linux/usr/local/lib/node_modules/或~/.npm-global/bin/如果这个路径不在系统 PATH 中PowerShell 就找不到openclaw命令。另外还有一个 Windows 特有的问题PowerShell 执行策略可能阻止运行脚本。解决方案方案一检查并添加 PATHWindows步骤1查看 npm 全局 bin 目录npm config get prefix # 输出示例: C:\Users\zhubo\AppData\Roaming\npm输出的路径就是 npm 全局包的 bin 目录。步骤2验证 openclaw 可执行文件是否存在 # 在 npm prefix 路径下找 openclaw ls $(npm config get prefix)\openclaw.cmd如果能找到.cmd文件说明安装成功只是 PATH 没包含。步骤3添加 PATH# 方式1临时添加仅当前终端会话有效 $env:Path ;$(npm config get prefix) # 方式2永久添加以管理员身份运行 $npmPath npm config get prefix [Environment]::SetEnvironmentVariable( Path, [Environment]::GetEnvironmentVariable(Path, User) ;$npmPath, User ) # 重启终端步骤4重启终端后再试openclaw --version方案二检查 PATHmacOS / Linux# 查看 npm 全局路径 npm config get prefix # 输出: /usr/local 或 /Users/xxx/.npm-global # 如果输出是 /Users/xxx/.npm-global需要添加到 PATH echo export PATH$(npm config get prefix)/bin:$PATH ~/.zshrc source ~/.zshrc # 验证 openclaw --version方案三检查 PowerShell 执行策略仅 Windows# 查看当前执行策略 Get-ExecutionPolicy # 如果输出 Restricted改为 RemoteSigned Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # 输入 Y 确认然后重启终端方案四使用 npx 调用临时方案如果不想修改 PATH可以直接用 npx 调用npx openclaw npx openclaw-cnnpx会自动查找node_modules/.bin目录下的可执行文件。总结无法将openclaw项识别为 cmdlet解决思路就两步npm config get prefix查看路径 → 2. 把该路径加到 PATH。这在所有 npm 全局安装的工具中都会遇到包括 opencode、codex-cn 等掌握一次终身受用。