问题描述
通过 npm install -g openclaw 安装成功后,在终端中运行 openclaw 命令时,系统提示找不到该命令:
$ openclaw --version
bash: openclaw: command not found
或者在 Windows 上:
'openclaw' 不是内部或外部命令,也不是可运行的程序或批处理文件。
又或者在 PowerShell 中:
openclaw: The term 'openclaw' is not recognized as the name of a cmdlet, function, script file, or operable program.
npm 全局安装的包会被放置在一个特定的全局目录中,并在该目录下创建可执行文件的符号链接。如果这个目录不在系统的 PATH 环境变量中,终端就无法找到 openclaw 命令。
诊断步骤
第一步:确认 npm 全局安装路径
运行以下命令查看 npm 全局包的安装前缀:
npm prefix -g
这会输出类似以下的路径:
- Linux / macOS:
/usr/local或/home/用户名/.nvm/versions/node/v22.x.x - Windows:
C:\Users\用户名\AppData\Roaming\npm
全局可执行文件位于该路径下的 bin(Linux/macOS)或根目录(Windows)中。
第二步:确认 openclaw 二进制文件是否存在
# Linux / macOS
ls -la $(npm prefix -g)/bin/openclaw
# Windows (Git Bash)
ls -la "$(npm prefix -g)/openclaw.cmd"
如果文件存在,说明安装本身没有问题,只是 PATH 配置不正确。如果文件不存在,可能安装过程出现了错误,需要重新安装。
第三步:检查 PATH 环境变量
echo $PATH
在输出中搜索 npm 全局路径。如果找不到,就需要手动添加。
还可以直接用 npm 提供的路径查看工具:
npm bin -g
这会直接输出全局可执行文件所在的目录路径。
解决方案
Linux / macOS 用户
将 npm 全局 bin 目录添加到 PATH 中。根据你使用的 Shell 编辑对应的配置文件:
# Bash 用户
echo 'export PATH="$(npm prefix -g)/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# Zsh 用户
echo 'export PATH="$(npm prefix -g)/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
如果使用 nvm 管理 Node.js,通常 nvm 的初始化脚本会自动设置 PATH。检查 Shell 配置文件中是否包含 nvm 的初始化代码:
grep -n "nvm" ~/.bashrc
应该能看到类似以下的行:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
如果这些行不存在或被注释掉了,取消注释或重新添加。
Windows 用户
Windows 的 npm 全局路径通常为 %APPDATA%\npm。需要将其添加到系统环境变量 PATH 中:
- 按
Win + R,输入sysdm.cpl,回车 - 切换到"高级"选项卡,点击"环境变量"
- 在"用户变量"中找到
Path,双击编辑 - 添加新条目:
%APPDATA%\npm - 确定保存后,重新打开终端
或者使用 PowerShell 快速添加:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$env:APPDATA\npm", "User")
添加后需要重启终端使变更生效。
使用 npx 作为临时替代
如果你急需使用 OpenClaw 但暂时无法修改 PATH,可以通过 npx 直接运行:
npx openclaw --version
npx openclaw start
npx 会自动定位全局安装的包或临时下载并执行。但这不是长久之计,建议尽快修复 PATH 配置。
使用 pnpm 或 yarn 全局安装
如果你使用 pnpm 或 yarn 作为包管理器,全局安装路径可能不同:
# pnpm
pnpm add -g openclaw
pnpm bin -g # 查看全局 bin 路径
# yarn
yarn global add openclaw
yarn global bin # 查看全局 bin 路径
同样需要确保对应的 bin 路径在 PATH 中。
验证修复
修复 PATH 后,打开一个新的终端窗口(这很重要,旧窗口可能不会加载更新后的环境变量),运行:
openclaw --version
which openclaw # Linux / macOS
where openclaw # Windows
如果命令输出了版本号和可执行文件路径,说明问题已解决。接下来可以初始化配置:
openclaw init
这会在 ~/.openclaw/ 目录下创建默认的 openclaw.json 配置文件。