インストーラーの内部構造
OpenClaw には 3 つのインストーラースクリプトがあり、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 をインストール。オンボーディングも実行可能。 |
クイックコマンド
install.sh
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
```
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --help
```
install-cli.sh
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
```
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --help
```
install.ps1
```powershell
iwr -useb https://openclaw.ai/install.ps1 | iex
```
```powershell
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag beta -NoOnboard -DryRun
```
注意: インストールは成功したものの新しいターミナルで
openclawが見つからない場合は、Node.js のトラブルシューティングを参照してください。
install.sh
ヒント: macOS/Linux/WSL での対話型インストールに推奨です。
フロー(install.sh)
ステップ1:OS の検出
macOS と Linux(WSL を含む)をサポート。macOS が検出された場合、Homebrew が未インストールならインストールします。
ステップ2:デフォルトで Node.js 24 を確保
Node のバージョンを確認し、必要に応じて Node 24 をインストール(macOS は Homebrew、Linux は NodeSource セットアップスクリプトで apt/dnf/yum に対応)。OpenClaw は互換性のため Node 22 LTS(現在 `22.16+`)もサポートしています。
ステップ3:Git の確保
Git が未インストールの場合はインストールします。
ステップ4:OpenClaw のインストール
- `npm` 方式(デフォルト):グローバル npm インストール
- `git` 方式:リポジトリをクローン/更新し、pnpm で依存関係をインストール、ビルド後、`~/.local/bin/openclaw` にラッパーをインストール
ステップ5:インストール後の処理
- アップグレードおよび git インストール時に `openclaw doctor --non-interactive` を実行(ベストエフォート)
- 適切な場合にオンボーディングを試行(TTY が利用可能、オンボーディングが無効化されていない、ブートストラップ/設定チェックに合格した場合)
- `SHARP_IGNORE_GLOBAL_LIBVIPS=1` をデフォルトで設定
ソースチェックアウトの検出
OpenClaw のチェックアウト内(package.json + pnpm-workspace.yaml)で実行された場合、スクリプトは以下を提案します:
- チェックアウトを使用(
git)、または - グローバルインストールを使用(
npm)
TTY が利用できずインストール方法が設定されていない場合、デフォルトで npm を使用し、警告を表示します。
無効な方式選択や無効な --install-method 値の場合、スクリプトは終了コード 2 で終了します。
例(install.sh)
デフォルト
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
```
オンボーディングをスキップ
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboard
```
Git インストール
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git
```
ドライラン
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-run
```
フラグリファレンス
| フラグ | 説明 |
|---|---|
--install-method npm|git | インストール方式を選択(デフォルト:npm)。エイリアス:--method |
--npm | npm 方式のショートカット |
--git | git 方式のショートカット。エイリアス:--github |
--version <version|dist-tag> | npm のバージョンまたは dist-tag(デフォルト:latest) |
--beta | beta dist-tag を使用(利用可能な場合、なければ latest にフォールバック) |
--git-dir <path> | チェックアウトディレクトリ(デフォルト:~/openclaw)。エイリアス:--dir |
--no-git-update | 既存チェックアウトの git pull をスキップ |
--no-prompt | プロンプトを無効化 |
--no-onboard | オンボーディングをスキップ |
--onboard | オンボーディングを有効化 |
--dry-run | 変更を適用せずにアクションを表示 |
--verbose | デバッグ出力を有効化(set -x、npm の notice レベルログ) |
--help | 使い方を表示(-h) |
環境変数リファレンス
| 変数 | 説明 |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm | インストール方式 |
OPENCLAW_VERSION=latest|next|<semver> | npm のバージョンまたは dist-tag |
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)
ステップ1:ローカル Node ランタイムのインストール
ピン留めされたサポート対象の Node tarball(現在のデフォルト `22.22.0`)を `<prefix>/tools/node-v<version>` にダウンロードし、SHA-256 を検証します。
ステップ2:Git の確保
Git が未インストールの場合、Linux では apt/dnf/yum、macOS では Homebrew でインストールを試みます。
ステップ3:プレフィックス配下に OpenClaw をインストール
`--prefix <prefix>` を使って npm でインストールし、`<prefix>/bin/openclaw` にラッパーを配置します。
例(install-cli.sh)
デフォルト
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
```
カスタムプレフィックス + バージョン
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latest
```
自動化用 JSON 出力
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
```
オンボーディングの実行
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboard
```
フラグリファレンス
| フラグ | 説明 |
|---|---|
--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) |
環境変数リファレンス
| 変数 | 説明 |
|---|---|
OPENCLAW_PREFIX=<path> | インストールプレフィックス |
OPENCLAW_VERSION=<ver> | OpenClaw のバージョンまたは dist-tag |
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)
ステップ1:PowerShell + Windows 環境の確認
PowerShell 5 以上が必要です。
ステップ2:デフォルトで Node.js 24 を確保
未インストールの場合、winget、次に Chocolatey、次に Scoop でインストールを試みます。Node 22 LTS(現在 `22.16+`)も互換性のためサポートされています。
ステップ3:OpenClaw のインストール
- `npm` 方式(デフォルト):選択された `-Tag` を使ったグローバル npm インストール
- `git` 方式:リポジトリをクローン/更新し、pnpm でインストール/ビルド、`%USERPROFILE%\.local\bin\openclaw.cmd` にラッパーをインストール
ステップ4:インストール後の処理
必要に応じてユーザー PATH に bin ディレクトリを追加し、アップグレードおよび git インストール時に `openclaw doctor --non-interactive` を実行(ベストエフォート)。
例(install.ps1)
デフォルト
```powershell
iwr -useb https://openclaw.ai/install.ps1 | iex
```
Git インストール
```powershell
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git
```
カスタム git ディレクトリ
```powershell
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw"
```
ドライラン
```powershell
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRun
```
デバッグトレース
```powershell
# install.ps1 には専用の -Verbose フラグはまだありません。
Set-PSDebug -Trace 1
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
Set-PSDebug -Trace 0
```
フラグリファレンス
| フラグ | 説明 |
|---|---|
-InstallMethod npm|git | インストール方式(デフォルト:npm) |
-Tag <tag> | npm の dist-tag(デフォルト: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)
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboard
```
install.sh(非対話 git)
```bash
OPENCLAW_INSTALL_METHOD=git OPENCLAW_NO_PROMPT=1 \
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
```
install-cli.sh(JSON)
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
```
install.ps1(オンボーディングスキップ)
```powershell
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
```
トラブルシューティング
なぜ Git が必要なのですか?
`git` インストール方式では Git が必要です。`npm` インストールでも、依存関係が git URL を使用する際の `spawn git ENOENT` エラーを避けるため、Git のチェック/インストールが行われます。
Linux で npm が EACCES になるのはなぜですか?
一部の Linux 環境では、npm のグローバルプレフィックスが root 所有のパスを指しています。`install.sh` はプレフィックスを `~/.npm-global` に切り替え、シェル rc ファイル(存在する場合)に PATH のエクスポートを追加できます。
sharp/libvips の問題
スクリプトはデフォルトで `SHARP_IGNORE_GLOBAL_LIBVIPS=1` を設定し、sharp がシステムの libvips に対してビルドすることを防ぎます。上書きするには:
```bash
SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
```
Windows:「npm error spawn git / ENOENT」
Git for Windows をインストールし、PowerShell を再起動して、インストーラーを再実行してください。
Windows:「openclaw is not recognized」
`npm config get prefix` を実行し、そのディレクトリをユーザー PATH に追加してください(Windows では `\bin` サフィックスは不要)。その後、PowerShell を再起動してください。
Windows:インストーラーの詳細出力を取得するには
`install.ps1` は現時点で `-Verbose` スイッチを公開していません。
スクリプトレベルの診断には PowerShell トレースを使用してください:
```powershell
Set-PSDebug -Trace 1
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
Set-PSDebug -Trace 0
```
インストール後に openclaw が見つからない
通常は PATH の問題です。[Node.js のトラブルシューティング](/docs/install/node#トラブルシューティング)を参照してください。