安装器内部原理
OpenClaw 提供了三个安装脚本,由openclaw.ai 提供。
| 脚本 | 平台 | 功能 |
|---|---|---|
install.sh | macOS / Linux / WSL | 如有必要安装 Node,通过 npm(默认)或 git 安装 OpenClaw,并可运行引导流程。 |
install-cli.sh | macOS / Linux / WSL | 在本地前缀目录(~/.openclaw)安装 Node + OpenClaw,无需 root 权限。 |
install.ps1 | Windows (PowerShell) | 如有必要安装 Node,通过 npm(默认)或 git 安装 OpenClaw,并可运行引导流程。 |
快速命令
- install.sh
- install-cli.sh
- install.ps1
如果安装成功但新终端中找不到
openclaw,请参见 Node.js 故障排查。install.sh
流程(install.sh)
安装 OpenClaw
- 通过
npm方法(默认):全局 npm 安装 - 通过
git方法:克隆/更新仓库,使用 pnpm 安装依赖,构建,然后在~/.local/bin/openclaw安装包装器
源码检出检测
如果在 OpenClaw 源码检出目录下运行(存在package.json 和 pnpm-workspace.yaml),脚本会提供选择:
- 使用源码检出 (
git),或 - 使用全局安装 (
npm)
npm 并给出警告。
如选择方式无效或 --install-method 值不正确,脚本以代码 2 退出。
示例(install.sh)
- 默认
- 跳过引导
- Git 安装
- 演练模式
参数参考
参数参考
| 参数 | 描述 |
|---|---|
--install-method npm|git | 选择安装方式(默认:npm)。别名:--method |
--npm | npm 方式快捷参数 |
--git | git 方式快捷参数。别名:--github |
--version <version|dist-tag> | npm 版本或分发标签(默认:latest) |
--beta | 使用 beta 分发标签(可用时),否则回退到 latest |
--git-dir <path> | 源码检出目录(默认:~/openclaw)。别名:--dir |
--no-git-update | 跳过已有源码检出的 git pull |
--no-prompt | 禁用交互提示 |
--no-onboard | 跳过引导 |
--onboard | 启用引导 |
--dry-run | 打印操作但不执行更改 |
--verbose | 启用调试输出(set -x,npm notice-level 日志) |
--help | 显示用法帮助(-h) |
环境变量参考
环境变量参考
| 变量 | 描述 |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm | 安装方式 |
OPENCLAW_VERSION=latest|next|<semver> | npm 版本或分发标签 |
OPENCLAW_BETA=0|1 | 是否使用 beta 版本 |
OPENCLAW_GIT_DIR=<path> | 源码检出目录 |
OPENCLAW_GIT_UPDATE=0|1 | 是否允许 git 更新 |
OPENCLAW_NO_PROMPT=1 | 禁用交互提示 |
OPENCLAW_NO_ONBOARD=1 | 跳过引导 |
OPENCLAW_DRY_RUN=1 | 演练模式 |
OPENCLAW_VERBOSE=1 | 调试模式 |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice | npm 日志级别 |
SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 | 控制 sharp/libvips 行为(默认:1) |
install-cli.sh
设计用于希望将所有内容安装到本地前缀目录(默认
~/.openclaw)且无系统 Node 依赖的环境。流程(install-cli.sh)
示例(install-cli.sh)
- 默认
- 自定义前缀与版本
- 自动化 JSON 输出
- 运行引导
参数参考
参数参考
| 参数 | 描述 |
|---|---|
--prefix <path> | 安装前缀目录(默认:~/.openclaw) |
--version <ver> | OpenClaw 版本或分发标签(默认:latest) |
--node-version <ver> | Node 版本(默认:22.22.0) |
--json | 输出 NDJSON 事件 |
--onboard | 安装后运行 openclaw onboard |
--no-onboard | 跳过引导(默认) |
--set-npm-prefix | Linux 下,如当前 prefix 不可写,强制将 npm prefix 设置为 ~/.npm-global |
--help | 显示用法帮助(-h) |
环境变量参考
环境变量参考
| 变量 | 描述 |
|---|---|
OPENCLAW_PREFIX=<path> | 安装前缀 |
OPENCLAW_VERSION=<ver> | OpenClaw 版本或分发标签 |
OPENCLAW_NODE_VERSION=<ver> | Node 版本 |
OPENCLAW_NO_ONBOARD=1 | 跳过引导 |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice | npm 日志级别 |
OPENCLAW_GIT_DIR=<path> | 旧版清理查找路径(移除早期 Peekaboo 子模块源码时使用) |
SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 | 控制 sharp/libvips 行为(默认:1) |
install.ps1
流程(install.ps1)
安装 OpenClaw
- 通过
npm方法(默认):使用选定-Tag的全局 npm 安装 - 通过
git方法:克隆/更新仓库,使用 pnpm 安装依赖并构建,然后安装包装器到%USERPROFILE%\.local\bin\openclaw.cmd
示例(install.ps1)
- 默认
- Git 安装
- 自定义 Git 目录
- 演练模式
- 调试跟踪
参数参考
参数参考
| 参数 | 描述 |
|---|---|
-InstallMethod npm|git | 安装方式(默认:npm) |
-Tag <tag> | npm 分发标签(默认:latest) |
-GitDir <path> | 源码检出目录(默认:%USERPROFILE%\openclaw) |
-NoOnboard | 跳过引导 |
-NoGitUpdate | 跳过执行 git pull |
-DryRun | 只打印操作,不实际执行 |
环境变量参考
环境变量参考
| 变量 | 描述 |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm | 安装方式 |
OPENCLAW_GIT_DIR=<path> | 源码检出目录 |
OPENCLAW_NO_ONBOARD=1 | 跳过引导 |
OPENCLAW_GIT_UPDATE=0 | 禁用 git pull |
OPENCLAW_DRY_RUN=1 | 演练模式 |
如果使用
-InstallMethod git 且缺少 Git,脚本会退出并打印 Git for Windows 链接。CI 与自动化
使用非交互参数/环境变量以确保运行可预测。- install.sh(非交互 npm)
- install.sh(非交互 git)
- install-cli.sh(JSON 输出)
- install.ps1(跳过引导)
故障排查
为什么需要 Git?
为什么需要 Git?
Git 是
git 安装方式的必备工具。即使是 npm 安装方式,也会检测并安装 Git,以避免依赖回退到 git URL 导致的 spawn git ENOENT 错误。为什么 Linux 上 npm 会遇到 EACCES 权限错误?
为什么 Linux 上 npm 会遇到 EACCES 权限错误?
部分 Linux 配置会将 npm 全局前缀目录指向由 root 拥有的路径。
install.sh 可以切换前缀到 ~/.npm-global 并向 shell rc 文件追加 PATH 导出(当这些文件存在时)。sharp/libvips 相关问题
sharp/libvips 相关问题
Windows: "npm error spawn git / ENOENT" 错误
Windows: "npm error spawn git / ENOENT" 错误
请安装 Git for Windows,重新打开 PowerShell 后重新运行安装脚本。
Windows: "openclaw is not recognized" 错误
Windows: "openclaw is not recognized" 错误
运行
npm config get prefix,将该目录添加到用户 PATH(Windows 上无须 \bin 后缀),然后重新打开 PowerShell。Windows: 如何获取安装器详细输出
Windows: 如何获取安装器详细输出
install.ps1 目前不支持 -Verbose 参数。
你可以使用 PowerShell 跟踪功能获取脚本级别诊断:安装后找不到 openclaw 命令
安装后找不到 openclaw 命令
通常是 PATH 配置问题。请参考 Node.js 故障排查。