インストーラー内部
OpenClawは2つのインストーラースクリプトを提供しています(openclaw.aiから提供):
- https://openclaw.bot/install.sh — 「推奨」インストーラー(デフォルトでnpmグローバルインストール、GitHubチェックアウトからもインストール可能)
- https://openclaw.bot/install-cli.sh — 非root向けCLIインストーラー(独自のNodeを持つプレフィックスにインストール)
- https://openclaw.ai/install.ps1 — Windows PowerShellインストーラー(デフォルトでnpm、オプションのgitインストール)
現在のフラグ/動作を確認するには:
curl -fsSL https://openclaw.bot/install.sh | bash -s -- --help
Windows(PowerShell)ヘルプ:
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -?
インストーラーが完了したが新しいターミナルでopenclawが見つからない場合は、通常Node/npm PATHの問題です。参照: Install。
install.sh(推奨)
高レベルでの動作:
- OSの検出(macOS / Linux / WSL)。
- Node.js **22+**を確保(macOSはHomebrew経由、LinuxはNodeSource経由)。
- インストール方法の選択:
- npm(デフォルト): npm install -g openclaw@latest
- git: ソースチェックアウトをクローン/ビルドし、ラッパースクリプトをインストール
- Linux: 必要に応じてnpmのプレフィックスを~/.npm-globalに切り替えることで、グローバルnpmパーミッションエラーを回避。
- 既存のインストールをアップグレードする場合: openclaw doctor --non-interactiveを実行(ベストエフォート)。
- gitインストールの場合: インストール/更新後にopenclaw doctor --non-interactiveを実行(ベストエフォート)。
- デフォルトでSHARP_IGNORE_GLOBAL_LIBVIPS=1を設定することでsharpネイティブインストールの問題を軽減(システムlibvipsに対するビルドを回避)。
グローバルにインストールされたlibvipsに対してsharpをリンクさせたい場合(またはデバッグ中の場合)は、以下を設定してください:
SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL https://openclaw.bot/install.sh | bash
発見可能性 / "gitインストール"プロンプト
既にOpenClawソースチェックアウト内でインストーラーを実行すると(package.json + pnpm-workspace.yamlで検出)、プロンプトが表示されます:
- このチェックアウトを更新して使用(git)
- またはnpmグローバルインストールに移行(npm)
非対話型コンテキスト(TTYなし / --no-prompt)では、--install-method git|npmを渡す必要があります(またはOPENCLAW_INSTALL_METHODを設定)、そうでない場合スクリプトはコード2で終了します。
Gitが必要な理由
Gitは--install-method gitパス(クローン/プル)に必須です。
npmインストールの場合、Gitは通常不要ですが、一部の環境ではまだ必要になります(例: パッケージまたは依存関係がgit URL経由でフェッチされる場合)。インストーラーは現在、新しいディストロでのspawn git ENOENTサプライズを回避するためにGitが存在することを確保します。
なぜnpmが新しいLinuxでEACCESになるか
一部のLinuxセットアップ(特にシステムパッケージマネージャーまたはNodeSource経由でNodeをインストールした後)では、npmのグローバルプレフィックスがroot所有の場所を指します。その場合、npm install -g ...はEACCES / mkdirパーミッションエラーで失敗します。
install.shは、プレフィックスを以下に切り替えることでこれを軽減します:
- ~/.npm-global(存在する場合、~/.bashrc / ~/.zshrcのPATHに追加)
install-cli.sh(非rootCLIインストーラー)
このスクリプトはopenclawをプレフィックス(デフォルト: ~/.openclaw)にインストールし、そのプレフィックス下に専用のNodeランタイムもインストールするため、システムのNode/npmに触れたくないマシンで動作します。
ヘルプ:
curl -fsSL https://openclaw.bot/install-cli.sh | bash -s -- --help
install.ps1(Windows PowerShell)
高レベルでの動作:
- Node.js **22+**を確保(winget/Chocolatey/Scoop または 手動)。
- インストール方法の選択:
- npm(デフォルト): npm install -g openclaw@latest
- git: ソースチェックアウトをクローン/ビルドし、ラッパースクリプトをインストール
- アップグレードおよびgitインストール時にopenclaw doctor --non-interactiveを実行(ベストエフォート)。
例:
iwr -useb https://openclaw.ai/install.ps1 | iex
iwr -useb https://openclaw.ai/install.ps1 | iex -InstallMethod git
iwr -useb https://openclaw.ai/install.ps1 | iex -InstallMethod git -GitDir "C:\\openclaw"
環境変数:
- OPENCLAW_INSTALL_METHOD=git|npm
- OPENCLAW_GIT_DIR=...
Git要件:
-InstallMethod gitを選択してGitが不足している場合、インストーラーは Git for Windowsリンク(https://git-scm.com/download/win)を表示して終了します。
Windows共通の問題:
- npm error spawn git / ENOENT: Git for Windowsをインストールし、PowerShellを再度開いてから、インストーラーを再実行してください。
- "openclaw" is not recognized: npmグローバルbinフォルダがPATH上にありません。ほとんどのシステムは %AppData%\\npmを使用します。npm config get prefixを実行して\\binをPATHに追加し、PowerShellを再度開くこともできます。