Windows (WSL2) で OpenClaw を動かす方法
Windows で開発をしていると、ツールやライブラリが Linux 前提で設計されていて、セットアップに苦労することがあります。OS の違いによる依存関係のトラブルや、ツールチェーンの互換性に悩まされるのは避けたいものです。
OpenClaw を Windows で動かすなら、WSL2(Ubuntu 推奨)を使うのが一番のおすすめです。CLI と Gateway を Linux 内部で実行することで、Node.js や Bun、pnpm などのツールセットを Linux バイナリとしてそのまま利用でき、環境をクリーンに保てます。WSL2 は wsl --install コマンド一つで導入できるため、非常にスムーズです。
セットアップを始める前に、以下のリソースを確認してください。
- Getting Started (WSL 内で使用します)
- Install & updates
- Microsoft 公式 WSL2 インストールガイド
- Gateway 運用ガイド
- Gateway 設定
クイックスタート
Section titled “クイックスタート”5分で環境を構築するための最小手順です。
1. WSL2 と Ubuntu のインストール
Section titled “1. WSL2 と Ubuntu のインストール”管理者権限で PowerShell を開き、以下のコマンドを実行します。
wsl --install# 特定のディストリビューションを選択する場合:wsl --list --onlinewsl --install -d Ubuntu-24.04再起動を求められた場合は、指示に従ってください。
2. systemd の有効化
Section titled “2. systemd の有効化”Gateway のインストールには systemd が必要です。WSL のターミナルで以下を実行します。
sudo tee /etc/wsl.conf >/dev/null <<'EOF'[boot]systemd=trueEOF設定を反映させるため、PowerShell から一度 WSL をシャットダウンします。
wsl --shutdown再び Ubuntu を開き、正しく動作しているか確認します。
systemctl --user status3. OpenClaw のインストール
Section titled “3. OpenClaw のインストール”WSL 内部で以下のコマンドを順番に実行します。
git clone https://github.com/openclaw/openclaw.gitcd openclawpnpm installpnpm ui:build # 初回実行時に UI の依存関係を自動インストールしますpnpm buildopenclaw onboardGateway サービスのインストール
Section titled “Gateway サービスのインストール”WSL2 内で Gateway をバックグラウンドで動かすには、以下のいずれかのコマンドを使用します。
openclaw onboard --install-daemonまたは
openclaw gateway installまたは
openclaw configureプロンプトが表示されたら Gateway service を選択してください。
高度な設定:LAN 経由で WSL サービスを公開する (portproxy)
Section titled “高度な設定:LAN 経由で WSL サービスを公開する (portproxy)”WSL は独自の仮想ネットワークを持っているため、外部のデバイスから WSL 内のサービス(SSH、ローカル TTS サーバー、Gateway など)にアクセスするには、Windows 側のポートを WSL の IP に転送する必要があります。
WSL の IP は再起動のたびに変わるため、その都度ルールを更新してください。
PowerShell (管理者権限) での実行例:
$Distro = "Ubuntu-24.04"$ListenPort = 2222$TargetPort = 22
$WslIp = (wsl -d $Distro -- hostname -I).Trim().Split(" ")[0]if (-not $WslIp) { throw "WSL IP not found." }
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=$ListenPort ` connectaddress=$WslIp connectport=$TargetPortWindows ファイアウォールの許可設定(初回のみ):
New-NetFirewallRule -DisplayName "WSL SSH $ListenPort" -Direction Inbound ` -Protocol TCP -LocalPort $ListenPort -Action AllowWSL 再起動後のポート転送更新:
netsh interface portproxy delete v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 | Out-Nullnetsh interface portproxy add v4tov4 listenport=$ListenPort listenaddress=0.0.0.0 ` connectaddress=$WslIp connectport=$TargetPort | Out-Null注意点:
- 外部から接続する場合は、Windows ホストの IP を指定します(例:
ssh user@windows-host -p 2222)。 - リモートノードは
127.0.0.1ではなく、到達可能な Gateway URL を参照する必要があります。openclaw status --allで確認してください。 listenaddress=0.0.0.0を使うと LAN 内に公開され、127.0.0.1を使うとローカルのみに制限されます。
トラブルシューティング
Section titled “トラブルシューティング”設定がうまくいかない場合や、環境を修復したい場合は以下のコマンドを試してください。
-
環境の修復・移行:
Terminal window openclaw doctorこのコマンドで構成の不備をチェックできます。
-
Windows ネイティブアプリについて: 現在、Windows 用のコンパニオンアプリは開発計画中ですが、まだ存在しません。開発に協力いただける方は歓迎します。
セットアップで困ったことがあれば、AI Setup Assistant がお手伝いします。
次のステップ
Section titled “次のステップ”OpenClaw Expert
まだ解決しませんか?
このページで解決しない場合は、OpenClaw Expertに直接質問してください。