Maintenance
更新中
OpenClaw を最新の状態に保ちます。
推奨: openclaw update
最速の更新方法です。インストール種別(npm または git)を検出し、最新バージョンを取得し、openclaw doctor を実行して、Gateway を再起動します。
openclaw updateチャネルを切り替える、または特定のバージョンを対象にするには:
openclaw update --channel betaopenclaw update --channel devopenclaw update --dry-run # preview without applyingopenclaw update は --verbose を受け付けません。更新診断には、予定されている操作をプレビューする --dry-run、構造化された結果を得る --json、またはチャネルと利用可能状態を調べる openclaw update status --json を使用します。インストーラーには独自の --verbose フラグがありますが、そのフラグは openclaw update の一部ではありません。
--channel beta は beta を優先しますが、beta タグが存在しない、または最新の stable リリースより古い場合、ランタイムは stable/latest にフォールバックします。一回限りのパッケージ更新で生の npm beta dist-tag を使いたい場合は、--tag beta を使用します。
永続的に追従する GitHub main チェックアウトには --channel dev を使用します。パッケージ更新では、--tag main は 1 回の実行に対して github:openclaw/openclaw#main に対応し、GitHub/git ソース指定は段階的な npm install の前に一時 tarball へパックされます。
管理対象プラグインでは、beta チャネルのフォールバックは警告です。プラグインの beta が利用できないためにプラグインが記録済みの default/latest リリースを使用しても、コア更新は成功する場合があります。
チャネルの意味については 開発チャネル を参照してください。
npm インストールと git インストールを切り替える
インストール種別を変更したい場合はチャネルを使用します。アップデーターは ~/.openclaw 内の状態、設定、認証情報、ワークスペースを保持します。変更するのは、CLI と Gateway が使用する OpenClaw コードのインストールだけです。
# npm package install -> editable git checkoutopenclaw update --channel dev # git checkout -> npm package installopenclaw update --channel stableまず --dry-run 付きで実行し、正確なインストールモードの切り替えをプレビューします。
openclaw update --channel dev --dry-runopenclaw update --channel stable --dry-rundev チャネルは git チェックアウトを確保し、それをビルドし、そのチェックアウトからグローバル CLI をインストールします。stable と beta チャネルはパッケージインストールを使用します。Gateway がすでにインストールされている場合、openclaw update はサービスメタデータを更新し、--no-restart を渡さない限り再起動します。
管理対象 Gateway サービスを伴うパッケージインストールでは、openclaw update はそのサービスが使用するパッケージルートを対象にします。シェルの openclaw コマンドが別のインストール由来の場合、アップデーターは両方のルートと管理対象サービスの Node パスを出力します。パッケージ更新は、サービスルートを所有するパッケージマネージャーを使用し、パッケージを置き換える前に管理対象サービスの Node を対象リリースのエンジン要件と照合します。
代替: インストーラーを再実行する
curl -fsSL https://openclaw.ai/install.sh | bashオンボーディングをスキップするには --no-onboard を追加します。インストーラー経由で特定のインストール種別を強制するには、--install-method git --no-onboard または --install-method npm --no-onboard を渡します。
npm パッケージのインストール段階の後に openclaw update が失敗した場合は、インストーラーを再実行します。インストーラーは古いアップデーターを呼び出しません。グローバルパッケージインストールを直接実行し、部分的に更新された npm インストールを復旧できます。
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm復旧を特定のバージョンまたは dist-tag に固定するには、--version を追加します。
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version <version-or-dist-tag>代替: 手動 npm、pnpm、または bun
npm i -g openclaw@latest監視付きインストールでは openclaw update を優先してください。実行中の Gateway サービスとパッケージの入れ替えを調整できるためです。監視付きインストールを手動で更新する場合は、パッケージマネージャーを開始する前に管理対象 Gateway を停止します。パッケージマネージャーはファイルをその場で置き換えるため、Gateway が実行中だと、パッケージツリーが一時的に半分入れ替わった状態でコアまたはプラグインファイルを読み込もうとする可能性があります。パッケージマネージャーの完了後に Gateway を再起動し、サービスが新しいインストールを取得するようにします。
root 所有の Linux システムグローバルインストールで、openclaw update が EACCES で失敗し、システム npm で復旧する場合は、手動のパッケージ置換中は Gateway を停止したままにします。その Gateway で通常使用しているものと同じ openclaw プロファイルフラグまたは環境を使用します。/usr/bin/npm は、ホスト上で root 所有のグローバル prefix を所有するシステム npm に置き換えてください。
openclaw gateway stopsudo /usr/bin/npm i -g openclaw@latestopenclaw gateway install --forceopenclaw gateway restart次にサービスを検証します。
openclaw --versioncurl -fsS http://127.0.0.1:18789/readyzopenclaw plugins list --jsonopenclaw gateway status --deep --jsonopenclaw doctor --lint --jsonopenclaw update がグローバル npm インストールを管理する場合、最初に対象を一時 npm prefix にインストールし、パッケージ化された dist インベントリを検証してから、クリーンなパッケージツリーを実際のグローバル prefix に入れ替えます。これにより、npm が古いパッケージの残存ファイルの上に新しいパッケージを重ねることを防ぎます。インストールコマンドが失敗した場合、OpenClaw は --omit=optional 付きで 1 回再試行します。この再試行はネイティブのオプション依存関係をコンパイルできないホストで役立ち、フォールバックも失敗した場合は元の失敗を見える状態に保ちます。
OpenClaw 管理の npm 更新コマンドとプラグイン更新コマンドは、子 npm プロセスの npm min-release-age 隔離も解除します。npm はそのポリシーを派生した before カットオフとして報告する場合があります。どちらも一般的なサプライチェーン隔離ポリシーには有用ですが、明示的な OpenClaw 更新は「選択した OpenClaw リリースを今インストールする」という意味です。
pnpm add -g openclaw@latestbun add -g openclaw@latest高度な npm インストールのトピック
読み取り専用パッケージツリー
OpenClaw は、グローバルパッケージディレクトリが現在のユーザーから書き込み可能であっても、パッケージ化されたグローバルインストールをランタイムでは読み取り専用として扱います。プラグインパッケージのインストール先は、ユーザー設定ディレクトリ配下の OpenClaw 所有の npm/git ルートであり、Gateway 起動時に OpenClaw パッケージツリーは変更されません。
一部の Linux npm セットアップでは、グローバルパッケージを /usr/lib/node_modules/openclaw のような root 所有ディレクトリ配下にインストールします。OpenClaw はそのレイアウトをサポートします。プラグインのインストール/更新コマンドは、そのグローバルパッケージディレクトリの外に書き込むためです。
強化された systemd ユニット
明示的なプラグインインストール、プラグイン更新、doctor クリーンアップが変更を永続化できるように、OpenClaw に設定/状態ルートへの書き込みアクセスを付与します。
ReadWritePaths=/var/lib/openclaw /home/openclaw/.openclaw /tmpディスク容量の事前確認
パッケージ更新と明示的なプラグインインストールの前に、OpenClaw は対象ボリュームのディスク容量をベストエフォートで確認します。容量不足の場合は確認したパス付きの警告が出ますが、更新はブロックされません。ファイルシステムのクォータ、スナップショット、ネットワークボリュームは確認後に変化する可能性があるためです。実際のパッケージマネージャーによるインストールとインストール後の検証が引き続き正式な判定になります。
自動アップデーター
自動アップデーターはデフォルトで無効です。~/.openclaw/openclaw.json で有効にします。
{ update: { channel: "stable", auto: { enabled: true, stableDelayHours: 6, stableJitterHours: 12, betaCheckIntervalHours: 1, }, },}| チャネル | 動作 |
|---|---|
stable |
stableDelayHours 待機し、その後 stableJitterHours 全体にわたる決定的なジッター(分散ロールアウト)で適用します。 |
beta |
betaCheckIntervalHours ごと(デフォルト: 1 時間ごと)に確認し、すぐに適用します。 |
dev |
自動適用はありません。openclaw update を手動で使用します。 |
Gateway は起動時にも更新ヒントをログに出力します(update.checkOnStart: false で無効化)。
ダウングレードまたはインシデント復旧では、Gateway 環境で OPENCLAW_NO_AUTO_UPDATE=1 を設定すると、update.auto.enabled が設定されていても自動適用をブロックできます。update.checkOnStart も無効化しない限り、起動時の更新ヒントは引き続き実行できます。
ライブ Gateway コントロールプレーンハンドラー経由で要求されたパッケージマネージャー更新は、実行中の Gateway プロセス内のパッケージツリーを置き換えません。管理対象サービスインストールでは、Gateway は分離された引き継ぎを開始して終了し、通常の openclaw update --yes --json CLI パスに、サービスの停止、パッケージの置換、サービスメタデータの更新、再起動、Gateway バージョンと到達性の検証、可能な場合はインストール済みだが未ロードの macOS LaunchAgent の復旧を任せます。Gateway がその引き継ぎを安全に行えない場合、update.run はパッケージマネージャーをプロセス内で実行する代わりに、安全なシェルコマンドを報告します。
更新後
doctor を実行する
openclaw doctor設定を移行し、DM ポリシーを監査し、Gateway の健全性を確認します。詳細: Doctor
Gateway を再起動する
openclaw gateway restart検証する
openclaw healthロールバック
バージョンを固定する(npm)
npm i -g openclaw@<version>openclaw doctoropenclaw gateway restartコミットを固定する(ソース)
git fetch origingit checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"pnpm install && pnpm buildopenclaw gateway restart最新に戻すには: git checkout main && git pull。
行き詰まった場合
openclaw doctorを再度実行し、出力を注意深く読みます。- ソースチェックアウトで
openclaw update --channel devを使用する場合、アップデーターは必要に応じてpnpmを自動でブートストラップします。pnpm/corepack のブートストラップエラーが表示された場合は、pnpmを手動でインストールする(またはcorepackを再有効化する)し、更新を再実行します。 - 確認: トラブルシューティング
- Discord で質問する: https://discord.gg/clawd