跳转至

安装程序内部

OpenClaw 附带三个安装脚本,托管于 openclaw.ai。

脚本 平台 用途
install.sh macOS / Linux / WSL 如有需要则安装 Node,通过 npm(默认)或 git 安装 OpenClaw,并可运行引导流程。
install-cli.sh macOS / Linux / WSL / FreeBSD 通过 npm(FreeBSD)或 npm/git(macOS/Linux/WSL)将 Node + OpenClaw 安装到本地前缀(~/.openclaw)。无需 root 权限。
install.ps1 Windows (PowerShell) 如有需要则安装 Node,通过 npm(默认)或 git 安装 OpenClaw,并可运行引导流程。

三者均支持 Node 24.16+ 或 26.1+,且链接了可安全重置 WAL 的 SQLite 库。当 Node 缺失且未检测到 nvm 时,install.sh 在 macOS 上通过 Homebrew 提供 Node 26,在 Linux 上通过 NodeSource 提供受支持的 Node 24 LTS 版本线。当受支持的 RPM 所属 Node 链接了不安全的 SQLite 时,install.sh 会保留发行版软件包,并通过 install-cli.sh 提供用户空间的 Node 运行时。无需 root 的 install-cli.sh 在 macOS 和 glibc Linux 上下载 Node 24.21.0。FreeBSD 使用已安装的系统运行时。不支持 Linux ARMv7。在 Windows 上,winget/Chocolatey/Scoop 安装受支持的 Node LTS 版本线,便携式后备方案则下载 Node 26。

在更改软件包之前,每个安装程序都会探测其将使用的确切 npm 可执行文件。npm 11.15 及更早版本正常安装;npm 11.16 及更高版本(包括 npm 12)仅对 npm 解析出的 OpenClaw 候选身份接收 --allow-scripts。如果无法读取 npm 版本,安装将在改动软件包之前停止。若存在残留的 .openclaw-lifecycle-pending 标记或旧版 dist/openclaw-install-guard,安装将失败,而不会将跳过生命周期脚本的软件包报告为成功。

在 npm 12 上,本地 .tgz 和 .tar.gz 的安装与更新需要不含逗号的归档文件名和父路径。npm 使用逗号分隔生命周期批准项,因此请先将归档移动到不含逗号的路径再重试。仍支持相对路径的 tarball 参数;安装程序会解析其完整路径以进行批准。

安装方式切换会在淘汰当前所有者之前验证替代品。源码包装器使用同目录原子替换;当 npm shim 占用同一路径时,安装程序仅将身份匹配的源码包装器移开,并在 npm 安装、生命周期检查或候选验证失败时将其恢复。升级时,install.sh 和 install.ps1 会运行 openclaw doctor --fix;若修复或最终验证失败,则以非零状态退出,且只有在上述步骤完成后才会显示成功横幅。

私有 Node 恢复

当当前使用的 Node.js 不受支持时,CLI 可以在加载 OpenClaw 之前提示 Update NodeJS: Y/N [N]:。输入 Y 将安装经过校验和验证的私有运行时,并重试同一命令。该过程不会更改系统 Node.js、shell 设置、OpenClaw 软件包和 Gateway 服务;重试的命令保持其正常行为。输入 N、按 Enter 或取消,即可获得手动升级说明。

安装提示要求 stdin 和 stderr 均为交互式终端。CLI 在 CI 中或使用 --json、--yes 或 --non-interactive 时,绝不会提示或安装运行时。恢复支持 x64/ARM64 macOS、Windows 和 glibc Linux;Alpine/musl 和其他架构需要手动安装。需要精确进程身份的命令(包括 hooks relay 和 webhooks gmail run)保持其原有的运行时要求。

CLI 将私有运行时存储在 ~/.openclaw/tools/cli-node 下;当设置 OPENCLAW_HOME 时,使用它替代主目录。之后需要受支持运行时的启动(包括非交互式启动)会从该位置复用兼容的运行时,而不会再次出现安装提示。受支持的当前 Node.js 优先。下面的仅 Node 安装程序示例会显式填充此位置;如果你使用 OPENCLAW_HOME,请调整它们的主路径。有关手动安装指南,请参阅 Node.js。

在不受支持的 Node 上进行诊断

启动器首先复用兼容的私有运行时,包括用于诊断。如果没有,诊断需要 Node 22 或更高版本,并带有可用的 node:sqlite。较旧的运行时会保留交互式恢复提示或非交互式拒绝,之后才会加载任何诊断代码。

在具备相应能力但不受支持的运行时上,openclaw --version(-V 或 -v)、--help(-h)、gateway status、doctor --lint、update status,以及 triage --json 或 triage --non-interactive 仍然可用。不带标志的 doctor 在不受支持的 Node 上运行只读的 lint 检查。修复标志、Gateway 启动和 triage 代理执行仍然需要受支持的运行时。openclaw update 可以在允许更新或写入运行记录之前,报告确切的 Node 安装说明。

这些命令会打印 Running on an unsupported Node (<version>); diagnostics may show truncated text。诊断结果仍然可见,包括 CLI 和已记录服务的 Node 版本及其修复说明。update status --json 在存在时包含 runtimeFindings;更新失败的问题报告会记录报告进程的 Node 版本。仅成功完成 npm 安装并不能确立运行时兼容性:npm 可能跳过预安装检查。

诊断读取器会保留在线 SQLite 文件。它们可能会恢复一份临时私有副本,以便崩溃后已提交的状态仍然可读;运行时豁免不允许对在线数据库进行可写访问。

源码构建工具链

在 FreeBSD 上,请使用 install-cli.sh 中描述的 npm 方法。 目前不支持源码/git 安装。

对于源码安装,安装器在选择检出引用后会选择 pnpm。 它使用 Corepack 在安装器拥有的临时目录中创建 pnpm 垫片, 然后从检出目录运行它们,以便 Corepack 读取该目标的 package-manager 固定版本。 同一目录会置于 PATH 的前面,用于嵌套的安装和构建命令; 工作区和 lockfile 环境变量覆盖仅绑定到这些子进程的目标检出。 环境中较旧的 pnpm --version 不是安全的选择探测:其版本切换路径可能会修改目标 lockfile。

如果缺少 Corepack 或无法提供固定版本,安装器 会使用其选定的 npm 可执行文件,将该精确的 pnpm 版本安装到临时前缀中, 并保留 npm 针对特定版本的生命周期审批。它们会直接使用该前缀中的可执行文件, 包括嵌套命令。此引导过程既不会激活全局 Corepack 垫片,也不会更改用户的 pnpm 配置; 临时垫片和包会在安装器退出后清理。

这不会安装或替换 shell 的全局 pnpm 命令。在后续手动构建之前,请遵循 从源码 选择 与检出固定的工具链,而不是复用较旧的环境启动器。

快速命令

curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --help
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --help
iwr -useb https://openclaw.ai/install.ps1 | iex
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag beta -NoOnboard -DryRun

Note

如果安装成功但在新终端中找不到 openclaw,请参阅 Node.js 故障排除。


install.sh

Tip

推荐用于 macOS/Linux/WSL 上大多数交互式安装。

流程(install.sh)

安装器的网络操作允许五分钟用于连接或停滞的传输。 由安装器管理的下载在数据持续到达时可能需要更长时间; 它们没有固定的总下载截止时间。注册表元数据检查也默认为五分钟。

1. 检测操作系统

支持 macOS 和 Linux(包括 WSL)。

2. 确保受支持的 Node.js 运行时

检查 Node 版本和链接的 SQLite 库,然后如有需要安装 Node(在 macOS 上通过 Homebrew node 安装 Node 26;在 Linux apt/dnf/yum 上通过 NodeSource 安装脚本安装 Node 24 LTS)。在基于 RPM 的 Linux 上,如果受支持的发行版 Node 链接了不安全的 SQLite,它会保持已安装状态,同时 OpenClaw 获得用户空间 Node 运行时。在 macOS 上,仅当安装器需要 Node 或 Git 时才安装 Homebrew。支持 Node 24.16+ 和 Node 26.1+;不支持 Node 22、23 和 25。 在 Alpine/musl Linux 上,安装器使用 apk 包而不是 NodeSource,并验证实际链接的 SQLite 版本。当前稳定的 Alpine 包源可能提供足够新的 Node,但系统 SQLite 存在漏洞;出现这种情况时,请改用官方 node:26-alpine 容器或基于 glibc 的主机。

3. 确保 Git

如果缺少 Git,则使用检测到的包管理器安装 Git,包括 macOS 上的 Homebrew 和 Alpine 上的 apk。

4. 安装 OpenClaw

  • npm 方法(默认):全局 npm 安装
  • git 方法:克隆/更新仓库,使用 pnpm 安装依赖,构建,然后在 ~/.local/bin/openclaw 安装包装器

5. 安装后任务

  • 解析刚刚安装的 openclaw 二进制文件,用于后续命令
  • npm-prefix 和 daemon-status 探测使用默认五秒超时;已完成的探测会在等待该截止时间之前返回。
  • 对于未配置的安装,在 doctor 或 gateway 探测之前启动 onboarding。使用 --no-onboard 或没有 TTY 时,它会打印稍后完成设置的命令。
  • 对于已配置的安装,它会尽力刷新并重启已加载的 gateway 服务,并运行修复 Doctor。升级修复失败是致命的;插件更新失败仍为警告。
  • 当运行 --verify 时,它会检查已安装版本,并且仅在配置存在后检查 gateway 健康状态。

现有 nvm 安装

install.sh 保留一个活动的兼容 Node,包括 nvm use system。 如果活动运行时不受支持,它首先检查已安装的 nvm 版本, 然后检查其他可用的 Node 二进制文件,包括 Homebrew。每个候选项都必须通过 版本和 SQLite 能力检查。选择现有 nvm 版本 只会更改安装器会话;脚本会打印 nvm use <version> 用于 后续命令,并保持默认别名和 shell 配置文件不变。

安装器通过 NVM_DIR、~/.nvm 和 shell 启动钩子检测 nvm。 它使用 --no-use 加载 nvm.sh,而不是激活默认版本。启动 文件永远不会被执行以进行发现。如果自定义或延迟钩子是唯一 可用位置,请在重新运行安装器之前在你的 shell 中加载 nvm。

当存在 nvm 但没有可用兼容运行时,安装器会提议 在该现有安装中运行 nvm install 26。由于 nvm 会刷新 LTS 别名,如果刷新会改变其解析,提示还会询问是否通过固定其别名来保留当前默认版本。即使下载失败,该同意也适用。当不存在默认版本时,提示会明确包括 nvm 创建一个默认版本。安装器会记录 任何已批准的别名更改和最终默认版本。拒绝或非交互式运行会以非零状态退出,并给出要运行的确切命令,而不会安装 Node 或更改 nvm、npm 配置或 shell 配置文件。安装器永远不会安装第二个 nvm。

在 Linux 上,不可写的系统 npm prefix 也会路由到现有的 nvm 安装。安装程序会复用兼容的 nvm Node,或请求安装一个;它不会写入会破坏后续 nvm use 命令的 npm prefix 设置。如果没有 nvm,现有的用户本地 npm prefix 设置仍然适用。

源代码检出检测

如果在 OpenClaw 检出目录中运行(package.json + pnpm-workspace.yaml),脚本会提供:

  • 使用检出(git),或
  • 使用全局安装(npm)

如果没有可用的 TTY,且未设置安装方法,则默认使用 npm 并发出警告。

对于无效的方法选择或无效的 --install-method 值,脚本以退出码 2 退出。

使用 --install-method git 时,install.sh 和 install-cli.sh 通过 --version 接受完整的 40 字符提交 SHA。安装程序会使用现有对象,或从 origin 获取该确切提交,以分离头指针方式检出,并使用冻结的 lockfile 安装依赖项。同名分支无法替换所请求的提交。--no-git-update 会跳过分支变基;它不会阻止获取缺失的所请求提交。如果所请求的对象不可用或无法解析为提交,则安装失败。

示例 (install.sh)

curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboard
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version main
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-run
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboard --verify
标志参考
标志 描述
--install-method \| --method npm\|git 选择安装方法(默认:npm)
--npm npm 方法的快捷方式
--git \| --github git 方法的快捷方式
--version <version\|dist-tag\|spec> npm 版本、dist-tag 或包规范(默认:latest)
--beta 如果可用则使用 beta dist-tag,否则回退到 latest
--git-dir \| --dir <path> 检出目录(默认:~/openclaw)
--no-git-update 对现有检出跳过 git pull
--no-prompt 禁用提示
--no-onboard 跳过引导
--onboard 启用引导
--verify 运行安装后冒烟验证(--version,若已加载则检查 gateway 健康状态)
--dry-run 打印操作而不应用更改
--verbose 启用调试输出(set -x,npm notice 级别日志)
--help \| -h 显示用法
环境变量参考
变量 描述
OPENCLAW_INSTALL_METHOD=git\|npm 安装方法
OPENCLAW_VERSION=latest\|next\|<semver>\|<spec> npm 版本、dist-tag 或包规范
OPENCLAW_BETA=0\|1 如果可用则使用 beta
OPENCLAW_HOME=<path> OpenClaw 状态以及默认 git/引导路径的基础目录
OPENCLAW_GIT_DIR=<path> 检出目录
OPENCLAW_GIT_UPDATE=0\|1 切换 git 更新
OPENCLAW_NO_PROMPT=1 禁用提示
OPENCLAW_VERIFY_INSTALL=1 运行安装后冒烟验证
OPENCLAW_NO_ONBOARD=1 跳过引导
OPENCLAW_DRY_RUN=1 试运行模式
OPENCLAW_VERBOSE=1 调试模式
OPENCLAW_NPM_LOGLEVEL=error\|warn\|notice npm 日志级别(默认:error,隐藏 npm 弃用噪音)

install-cli.sh

Info

适用于希望将所有内容都放在本地 prefix 下的环境(默认 ~/.openclaw)。默认支持 npm 安装,此外在 macOS/Linux/WSL 上支持 git 检出安装。FreeBSD 使用 npm 方法。FreeBSD 和 Alpine 使用系统 Node 包。

流程 (install-cli.sh)

1. 安装本地 Node 运行时

下载固定版本的受支持 Node LTS 压缩包(版本嵌入在脚本中并独立更新,默认 24.21.0)到 <prefix>/tools/node-v<version>,并验证 SHA-256。 Linux ARMv7 会在安装前停止,因为官方 Node 24+ ARMv7 二进制文件不可用。请在兼容硬件上使用 64 位操作系统,或使用其他受支持的主机。 在 Alpine/musl Linux 上,由于 Node 未为固定运行时发布兼容压缩包,脚本会使用 apk 安装 nodejs 和 npm,然后验证 Node 和实际链接的 SQLite 库。当前稳定的 Alpine 包流即使 Node 版本足够新,仍可能链接存在漏洞的 SQLite;当安全检查拒绝该包时,请使用官方 node:26-alpine 容器或基于 glibc 的主机。

2. 确保 Git

如果缺少 Git,会尝试在 Linux 上通过 apt/dnf/yum/apk 或在 macOS 上通过 Homebrew 安装。 在 FreeBSD 上,请先使用 pkg install git 安装 Git,然后重试。

3. 在前缀下安装 OpenClaw

  • npm 方式(默认):使用 npm 在前缀下安装,然后写入包装脚本到 <prefix>/bin/openclaw
  • git 方式:克隆/更新一个检出(默认 ~/openclaw),仍然写入包装脚本到 <prefix>/bin/openclaw

4. 验证已安装的 CLI

运行 <prefix>/bin/openclaw --version,除非已安装的包装脚本以非空版本成功退出,否则脚本会报错停止。

5. 刷新已加载的网关服务

如果同一前缀下已加载网关服务,脚本会运行 openclaw gateway install --force,以启用替换服务, 然后尽力探测网关健康状态。

在 FreeBSD 上,请使用默认 npm 方式(--install-method npm)配合已发布版本或兼容的已构建 .tgz 包。不支持源码/git 安装。 如果 OpenClaw 由 pkg 或 Ports 管理,请继续使用该包管理方,而不是覆盖安装。

在 FreeBSD 上,运行安装器前请通过 pkg 安装 bash、node24、npm-node24、git、python3 和 gmake。 Python 和 GNU Make 支持原生 npm 依赖构建。 如果运行时检查失败,请系统管理员更新这些包。 安装器要求 PATH 中存在受支持的 Node 和 npm 命令,并验证实际的 SQLite 库。 它会将该运行时链接到本地前缀,而不更改系统包。 显式指定 --node-version 会在 FreeBSD 上设置最低可接受系统版本。

上游 Codex CLI 不提供 FreeBSD 二进制目标。 安装成功或 openclaw doctor --fix 不会验证原生 Codex 执行。 对于 OpenAI API 模型,请配置 API-key 认证配置。 对您使用的模型,请显式选择 agentRuntime.id: "openclaw"。 API-key 访问使用 OpenAI Platform 计费,独立于 ChatGPT/Codex 订阅。 参见 OpenAI 设置 和 运行时选择。

使用 --node-only 时,install-cli.sh 会在将 Node 配置到 <prefix>/tools/node-v<version> 并更新 <prefix>/tools/node 别名后停止。它会跳过 Git、OpenClaw 安装、引导和网关服务工作。此模式拒绝 musl Linux 和 FreeBSD。请手动更新它们的系统 Node 包。

使用 --runtime-only 时,脚本会安装 Node 和 CLI,但会跳过网关 服务发现、刷新和引导,即使同时提供了 --onboard。 npm 路径也会跳过系统 Git 配置。桌面浏览器设置会使用 此选项,并配合 --npm、精确的应用版本以及独立的应用前缀;它不会 替换独立管理的网关运行时。正常安装会保留 其现有的服务刷新行为。

示例 (install-cli.sh)

curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latest
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --node-only --prefix "$HOME/.openclaw/tools/cli-node"
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --install-method git --git-dir ~/openclaw
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboard
标志参考
标志 描述
--prefix <path> 安装前缀(默认:~/.openclaw)
--install-method \| --method npm\|git 选择安装方式(默认:npm)
--npm npm 方式的快捷方式
--git \| --github git 方式的快捷方式
--git-dir \| --dir <path> Git 检出目录(默认:~/openclaw)
--no-git-update 对现有 git 检出跳过 git pull
--version <ver> OpenClaw 版本或 dist-tag(默认:latest)
--compatible-with <ver> 拒绝无法修改由 <ver> 写入的配置的 CLI
标志 描述
--node-version <ver> Node 版本(默认:24.21.0)
--node-only 仅在 --prefix 下安装私有 Node 运行时;不更改系统包
--runtime-only 安装 Node 和 CLI,但不包含 Gateway 探测、服务刷新或引导
--json 输出 NDJSON 事件
--onboard 安装后运行 openclaw onboard
--no-onboard 跳过引导(默认)
--set-npm-prefix 在 Linux 上,如果当前前缀不可写,则强制 npm 前缀为 ~/.npm-global
--help \| -h 显示用法
环境变量参考
变量 描述
OPENCLAW_PREFIX=<path> 安装前缀
OPENCLAW_INSTALL_METHOD=git\|npm 安装方法
OPENCLAW_VERSION=<ver> OpenClaw 版本或 dist-tag
OPENCLAW_NODE_VERSION=<ver> Node 版本
OPENCLAW_HOME=<path> OpenClaw 状态以及默认 git/引导路径的基础目录
OPENCLAW_GIT_DIR=<path> git 安装的 Git 检出目录
OPENCLAW_GIT_UPDATE=0\|1 切换现有检出的 git 更新
OPENCLAW_NO_ONBOARD=1 跳过引导
OPENCLAW_NPM_LOGLEVEL=error\|warn\|notice npm 日志级别(默认:error)

Note

openclaw@main 和其他 GitHub 源规范不是 npm 安装的有效 --version 目标。在 macOS/Linux/WSL 上,请改用 --install-method git --version main。FreeBSD 需要已发布的 npm 版本或兼容的构建包。


install.ps1

流程(install.ps1)

1. 确保 PowerShell + Windows 环境

需要 PowerShell 5+。

2. 确保受支持的 Node.js 运行时

如果缺失,会尝试通过 winget、Chocolatey、Scoop 安装。如果这些方法不可用、失败或留下不受支持的运行时,脚本会下载官方 Node.js 26 Windows zip 到 %LOCALAPPDATA%\OpenClaw\deps\portable-node,并将其添加到当前进程和用户 PATH。支持 Node 24.16+ 和 Node 26.1+;不支持 Node 22、23 和 25。

3. 安装 OpenClaw

  • npm 方法(默认):使用所选 -Tag 进行全局 npm 安装,从可写的安装程序临时目录启动,因此在受保护文件夹(如 C:\)中打开的 shell 仍然可用
  • git 方法:克隆/更新仓库,使用 pnpm 安装/构建,并在 %USERPROFILE%\.local\bin\openclaw.cmd 安装包装器。如果缺少 Git,脚本会在 %LOCALAPPDATA%\OpenClaw\deps\portable-git 下引导用户本地 MinGit,并将其添加到当前进程和用户 PATH。

4. 安装后任务

  • 在可能时将所需 bin 目录添加到用户 PATH
  • 尽力刷新已加载的 gateway 服务(openclaw gateway install --force,然后重启)
  • 在升级和 git 安装时运行 openclaw doctor --fix --non-interactive;失败会阻止返回升级成功结果

5. 处理失败

iwr ... | iex 和脚本块安装会报告终止错误,而不会关闭当前 PowerShell 会话。直接 powershell -File / pwsh -File 安装仍会以非零状态退出,以便自动化处理。

使用 -NodeOnly 时,install.ps1 会下载官方 Node 归档,验证其 SHA-256 校验和以及运行时兼容性,然后将 Node 及其匹配的 npm/npx 安装到 -NodePrefix。该前缀必须是绝对私有目录,不能是文件系统根目录。此模式会跳过包管理器、OpenClaw 安装、引导和 Gateway 服务工作,并保持进程、用户和机器 PATH 不变。-NodePrefix 需要 -NodeOnly;-DryRun 会预览目标位置而不安装。

Note

完整的原生 Windows 启动器 → PowerShell → 下载的 Node 交接流程在原生 Windows 上仍未得到验证。PowerShell 安装程序测试夹具覆盖了校验和失败和安装隔离,但并未证明该完整恢复流程。

示例(install.ps1)

iwr -useb https://openclaw.ai/install.ps1 | iex
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NodeOnly -NodePrefix "$HOME\.openclaw\tools\cli-node\tools\node"
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -Tag main
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw"
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRun
标志参考
标志 描述
-InstallMethod npm\|git 安装方式(默认:npm)
-Tag <tag\|version\|spec> npm dist-tag、版本或包规范(默认:latest)
-GitDir <path> 检出目录(默认:%USERPROFILE%\openclaw)
-NoOnboard 跳过引导
-NoGitUpdate 跳过 git pull
-DryRun 仅打印操作
-NodeOnly 仅安装私有 Node 运行时;不修改 PATH
-NodePrefix <path> -NodeOnly 所需的绝对私有目录
-Help 显示已下载 scriptblock 调用的用法
环境变量参考
变量 描述
OPENCLAW_INSTALL_METHOD=git\|npm 安装方式
OPENCLAW_GIT_DIR=<path> 检出目录
OPENCLAW_NO_ONBOARD=1 跳过引导
OPENCLAW_GIT_UPDATE=0 禁用 git pull
OPENCLAW_DRY_RUN=1 试运行模式

Note

按名称传递安装程序选项。未知选项和位置参数会在下载、修改 PATH 或开始安装之前被拒绝。对于已保存的 install.ps1 文件,请使用 -?;对于已下载的 scriptblock 形式,请使用 -Help。

Note

如果使用 -InstallMethod git 且缺少 Git,脚本会先尝试用户本地 MinGit 引导,然后再打印 Git for Windows 链接。


CI 与自动化

使用非交互式标志/环境变量以获得可预测的运行。

curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboard
OPENCLAW_INSTALL_METHOD=git OPENCLAW_NO_PROMPT=1 \
  curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard

故障排除

为什么需要 Git?

git 安装方式需要 Git。对于 npm 安装,仍会检查/安装 Git,以避免依赖项使用 git URL 时出现 spawn git ENOENT 失败。

为什么 npm 在 Linux 上遇到 EACCES?

某些 Linux 配置将 npm 的全局前缀指向 root 拥有的路径。install.sh 可以将前缀切换到 ~/.npm-global,并在 shell rc 文件中追加 PATH 导出(如果这些文件存在)。

Windows:“npm error spawn git / ENOENT”

重新运行安装程序,以便引导用户本地 MinGit,或安装 Git for Windows 并重新打开 PowerShell。

Windows:“openclaw is not recognized”

运行 npm config get prefix,并将该目录添加到用户 PATH(在 Windows 上无需 \bin 后缀),然后重新打开 PowerShell。

Windows:如何获取详细安装程序输出

install.ps1 使用 CmdletBinding,因此接受 PowerShell 的通用 -Verbose 参数。安装程序目前不会写入专用的详细输出流。对于脚本级诊断,请使用 PowerShell 跟踪:

Set-PSDebug -Trace 1
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
Set-PSDebug -Trace 0
安装后找不到 openclaw

通常是 PATH 问题。参见 Node.js 故障排除。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw