インストーラー内部

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を再度開くこともできます。