安装器内部机制
安装器内部机制
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,并可运行新手引导。 |
快速命令
如果安装成功但在新终端中找不到 openclaw,请参见 Node.js 故障排除。
install.sh
推荐用于大多数 macOS/Linux/WSL 上的交互式安装。
流程(install.sh)
支持 macOS 和 Linux(包括 WSL)。如果检测到 macOS,则会在缺少 Homebrew 时安装它。
检查 Node 版本,并在需要时安装 Node 24(macOS 上使用 Homebrew,Linux apt/dnf/yum 上使用 NodeSource 设置脚本)。为了兼容性,OpenClaw 仍支持 Node 22 LTS,目前为 22.16+。
如果缺少 Git,则安装它。
npm方法(默认):全局 npm 安装git方法:克隆/更新仓库,使用 pnpm 安装依赖,构建,然后将包装器安装到~/.local/bin/openclaw
- 在升级和 git 安装时运行
openclaw doctor --non-interactive(尽力而为) - 在适当情况下尝试运行新手引导(有 TTY、未禁用新手引导,并且 bootstrap/配置检查通过)
- 默认设置
SHARP_IGNORE_GLOBAL_LIBVIPS=1
源码检出检测
如果在 OpenClaw 检出目录中运行(package.json + pnpm-workspace.yaml),脚本会提供:
- 使用检出目录(
git),或 - 使用全局安装(
npm)
如果没有可用 TTY 且未设置安装方法,它将默认使用 npm 并发出警告。
对于无效的方法选择或无效的 --install-method 值,脚本会以退出码 2 退出。
示例(install.sh)
install-cli.sh
适用于你希望所有内容都放在本地前缀(默认 ~/.openclaw)下,并且不依赖系统 Node 的环境。
流程(install-cli.sh)
将固定的受支持 Node tarball(当前默认 22.22.0)下载到 <prefix>/tools/node-v<version>,并验证 SHA-256。
如果缺少 Git,则尝试在 Linux 上通过 apt/dnf/yum 安装,或在 macOS 上通过 Homebrew 安装。
使用 --prefix <prefix> 通过 npm 安装,然后将包装器写入 <prefix>/bin/openclaw。
示例(install-cli.sh)
install.ps1
流程(install.ps1)
需要 PowerShell 5+。
如果缺少,则依次尝试通过 winget、Chocolatey、Scoop 安装。为了兼容性,Node 22 LTS(当前为 22.16+)仍然受支持。
npm方法(默认):使用所选-Tag进行全局 npm 安装git方法:克隆/更新仓库,使用 pnpm 安装/构建,并将包装器安装到%USERPROFILE%\.local\bin\openclaw.cmd
在可能情况下将所需 bin 目录添加到用户 PATH,然后在升级和 git 安装时运行 openclaw doctor --non-interactive(尽力而为)。
示例(install.ps1)
如果使用 -InstallMethod git 且缺少 Git,脚本会退出并打印 Git for Windows 链接。
CI 和自动化
使用非交互式标志/环境变量以实现可预测的运行。