安装器内部原理
OpenClaw 提供三个安装脚本,从 openclaw.ai 提供?
| 脚本 | 平台 | 功能 |
|---|---|---|
install.sh | macOS / Linux / WSL | 如需要安?Node,通过 npm(默认)?git 安装 OpenClaw,并可以运行入门配置? |
install-cli.sh | macOS / Linux / WSL | ?Node + OpenClaw 安装到本地前缀(~/.openclaw)。不需?root? |
install.ps1 | Windows (PowerShell) | 如需要安?Node,通过 npm(默认)?git 安装 OpenClaw,并可以运行入门配置? |
快速命?
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --help
```
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --help
```
```powershell
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag beta -NoOnboard -DryRun
```
install.sh
流程(install.sh?
源代?checkout 检?
如果?OpenClaw checkout(package.json + pnpm-workspace.yaml)内运行,脚本会提供?
- 使用 checkout(
git),? - 使用全局安装(
npm?
如果没有可用?TTY 且未设置安装方法,它默认?npm 并发出警告?
脚本以代?2 退出,表示无效的方法选择或无效的 --install-method 值?
示例(install.sh?
| 标志 | 描述 |
|---|---|
| `—install-method npm | git` |
--npm | npm 方法的快捷方? |
--git | git 方法的快捷方式。别名:--github |
| `—version <version | dist-tag>` |
--beta | 如果可用使用 beta dist-tag,否则回退?latest |
--git-dir <path> | Checkout 目录(默认:~/openclaw)。别名:--dir |
--no-git-update | 跳过现有 checkout ?git pull |
--no-prompt | 禁用提示 |
--no-onboard | 跳过入门配置 |
--onboard | 启用入门配置 |
--dry-run | 打印操作而不应用更改 |
--verbose | 启用调试输出(set -x,npm notice 级别日志? |
--help | 显示用法(-h? |
<Accordion title=“环境变量参?>
| 变量 | 描述 |
|---|---|
| `OPENCLAW_INSTALL_METHOD=git | npm` |
| `OPENCLAW_VERSION=latest | next |
| `OPENCLAW_BETA=0 | 1` |
OPENCLAW_GIT_DIR=<path> | Checkout 目录 |
| `OPENCLAW_GIT_UPDATE=0 | 1` |
OPENCLAW_NO_PROMPT=1 | 禁用提示 |
OPENCLAW_NO_ONBOARD=1 | 跳过入门配置 |
OPENCLAW_DRY_RUN=1 | 模拟运行模式 |
OPENCLAW_VERBOSE=1 | 调试模式 |
| `OPENCLAW_NPM_LOGLEVEL=error | warn |
| `SHARP_IGNORE_GLOBAL_LIBVIPS=0 | 1` |
install-cli.sh
流程(install-cli.sh?
示例(install-cli.sh?
| 标志 | 描述 |
|---|---|
--prefix <path> | 安装前缀(默认:~/.openclaw? |
--version <ver> | OpenClaw 版本?dist-tag(默认:latest? |
--node-version <ver> | Node 版本(默认:22.22.0? |
--json | 发出 NDJSON 事件 |
--onboard | 安装后运?openclaw onboard |
--no-onboard | 跳过入门配置(默认) |
--set-npm-prefix | ?Linux 上,如果当前前缀不可写,强制 npm 前缀?~/.npm-global |
--help | 显示用法(-h? |
<Accordion title=“环境变量参?>
| 变量 | 描述 |
|---|---|
OPENCLAW_PREFIX=<path> | 安装前缀 |
OPENCLAW_VERSION=<ver> | OpenClaw 版本?dist-tag |
OPENCLAW_NODE_VERSION=<ver> | Node 版本 |
OPENCLAW_NO_ONBOARD=1 | 跳过入门配置 |
| `OPENCLAW_NPM_LOGLEVEL=error | warn |
OPENCLAW_GIT_DIR=<path> | 旧版清理查找路径(当移除旧的 Peekaboo 子模?checkout 时使用) |
| `SHARP_IGNORE_GLOBAL_LIBVIPS=0 | 1` |
install.ps1
流程(install.ps1?
示例(install.ps1?
| 标志 | 描述 |
|---|---|
| `-InstallMethod npm | git` |
-Tag <tag> | npm dist-tag(默认:latest? |
-GitDir <path> | Checkout 目录(默认:%USERPROFILE%\openclaw) |
-NoOnboard | 跳过入门配置 |
-NoGitUpdate | 跳过 git pull |
-DryRun | 仅打印操? |
<Accordion title=“环境变量参?>
| 变量 | 描述 |
|---|---|
| `OPENCLAW_INSTALL_METHOD=git | npm` |
OPENCLAW_GIT_DIR=<path> | Checkout 目录 |
OPENCLAW_NO_ONBOARD=1 | 跳过入门配置 |
OPENCLAW_GIT_UPDATE=0 | 禁用 git pull |
OPENCLAW_DRY_RUN=1 | 模拟运行模式 |
CI 和自动化
使用非交互式标志/环境变量以获得可预测的运行?
故障排除
<Accordion title=“为什?npm ?Linux 上遇?EACCES?>
某些 Linux 设置?npm 全局前缀指向 root 拥有的路径。install.sh 可以将前缀切换?~/.npm-global 并将 PATH 导出追加?shell rc 文件(当这些文件存在时)?
```bash
SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
```
```powershell
Set-PSDebug -Trace 1
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
Set-PSDebug -Trace 0
```