Skip to main content
OpenClaw jest dostarczany z trzema skryptami instalacyjnymi udostępnianymi z openclaw.ai. Wszystkie trzy obsługują Node 22.22.3+, 24.15+ lub 25.9+; Node 24 jest domyślną wersją docelową dla nowych instalacji.

Szybkie polecenia

Jeśli instalacja zakończy się powodzeniem, ale w nowym terminalu nie można znaleźć openclaw, zobacz rozwiązywanie problemów z Node.js.

install.sh

Zalecany w przypadku większości interaktywnych instalacji w systemach macOS/Linux/WSL.

Przebieg (install.sh)

1

Wykrywanie systemu operacyjnego

Obsługuje macOS i Linux (w tym WSL).
2

Domyślne zapewnienie Node.js 24

Sprawdza wersję Node i w razie potrzeby instaluje Node 24 (Homebrew w systemie macOS, skrypty konfiguracyjne NodeSource dla apt/dnf/yum w systemie Linux). W systemie macOS Homebrew jest instalowany tylko wtedy, gdy instalator potrzebuje go do instalacji Node lub Git. Obsługiwane są Node 22.22.3+, Node 24.15+ i Node 25.9+; Node 23 nie jest obsługiwany. W systemie Alpine/musl Linux instalator używa pakietów apk zamiast NodeSource i sprawdza rzeczywistą wersję podłączonej biblioteki SQLite. Bieżące stabilne strumienie pakietów Alpine mogą udostępniać dostatecznie nową wersję Node z podatną na ataki systemową biblioteką SQLite; w takim przypadku należy zamiast tego użyć oficjalnego kontenera node:24-alpine lub hosta opartego na glibc.
3

Zapewnienie Git

Jeśli brakuje Git, instaluje go za pomocą wykrytego menedżera pakietów, w tym Homebrew w systemie macOS i apk w systemie Alpine.
4

Instalacja OpenClaw

  • Metoda npm (domyślna): globalna instalacja za pomocą npm
  • Metoda git: klonuje lub aktualizuje repozytorium, instaluje zależności za pomocą pnpm, kompiluje, a następnie instaluje skrypt opakowujący w ~/.local/bin/openclaw
5

Zadania poinstalacyjne

  • Ustala położenie właśnie zainstalowanego pliku wykonywalnego openclaw na potrzeby kolejnych poleceń
  • W przypadku nieskonfigurowanej instalacji uruchamia konfigurację początkową przed diagnostyką lub testami Gateway. Przy ustawieniu --no-onboard lub braku TTY wyświetla polecenie umożliwiające późniejsze dokończenie konfiguracji.
  • W przypadku skonfigurowanej instalacji w miarę możliwości odświeża i ponownie uruchamia załadowaną usługę Gateway oraz przeprowadza diagnostykę. Podczas aktualizacji aktualizuje pluginy, gdy jest to możliwe, albo wyświetla ręczne polecenie w uruchomieniu bez interfejsu, w którym włączono monity.
  • Po uruchomieniu --verify sprawdza zainstalowaną wersję, a kondycję Gateway sprawdza tylko wtedy, gdy istnieje konfiguracja.

Wykrywanie kopii roboczej źródeł

W przypadku uruchomienia wewnątrz kopii roboczej OpenClaw (package.json + pnpm-workspace.yaml) skrypt proponuje:
  • użycie kopii roboczej (git) albo
  • użycie instalacji globalnej (npm)
Jeśli TTY nie jest dostępny i nie ustawiono metody instalacji, skrypt domyślnie wybiera npm i wyświetla ostrzeżenie. Skrypt kończy działanie z kodem 2 w przypadku wybrania nieprawidłowej metody lub podania nieprawidłowych wartości --install-method.

Przykłady (install.sh)


install-cli.sh

Przeznaczony do środowisk, w których wszystkie elementy mają znajdować się pod lokalnym prefiksem (domyślnie ~/.openclaw) bez zależności od systemowej instalacji Node. Domyślnie obsługuje instalacje za pomocą npm, a także instalacje z kopii roboczej git w ramach tego samego przepływu prefiksu.

Przebieg (install-cli.sh)

1

Instalacja lokalnego środowiska uruchomieniowego Node

Pobiera przypisane archiwum tar obsługiwanej wersji Node LTS (wersja jest osadzona w skrypcie i aktualizowana niezależnie; domyślnie 24.15.0) do <prefix>/tools/node-v<version> i weryfikuje sumę SHA-256. Linux ARMv7 używa Node 22.22.3, ponieważ oficjalne pliki binarne Node 24+ dla ARMv7 są niedostępne. W systemie Alpine/musl Linux, dla którego Node nie publikuje archiwów tar zgodnych z przypisaną wersją środowiska uruchomieniowego, instaluje nodejs i npm za pomocą apk, a następnie sprawdza zarówno Node, jak i rzeczywiście podłączoną bibliotekę SQLite. Bieżące stabilne strumienie pakietów Alpine mogą nadal łączyć podatną na ataki bibliotekę SQLite nawet z dostatecznie nową wersją Node; jeśli kontrola bezpieczeństwa odrzuci pakiet, należy użyć oficjalnego kontenera node:24-alpine lub hosta opartego na glibc.
2

Zapewnienie Git

Jeśli brakuje Git, podejmuje próbę instalacji za pomocą apt/dnf/yum/apk w systemie Linux lub Homebrew w systemie macOS.
3

Instalacja OpenClaw pod prefiksem

  • Metoda npm (domyślna): instaluje pod prefiksem za pomocą npm, a następnie zapisuje skrypt opakowujący w <prefix>/bin/openclaw
  • Metoda git: klonuje lub aktualizuje kopię roboczą (domyślnie ~/openclaw) i również zapisuje skrypt opakowujący w <prefix>/bin/openclaw
4

Odświeżenie załadowanej usługi Gateway

Jeśli usługa Gateway jest już załadowana z tego samego prefiksu, skrypt uruchamia openclaw gateway install --force, co aktywuje usługę zastępczą, a następnie w miarę możliwości sprawdza kondycję Gateway.

Przykłady (install-cli.sh)

openclaw@main i inne specyfikacje źródłowe GitHub nie są prawidłowymi celami --version dla instalacji npm. Zamiast tego należy użyć --install-method git --version main.

install.ps1

Przebieg (install.ps1)

1

Zapewnienie środowiska PowerShell i Windows

Wymaga PowerShell 5+.
2

Domyślne zapewnienie Node.js 24

Jeśli go brakuje, podejmowana jest próba instalacji kolejno przez winget, Chocolatey i Scoop. Jeśli żaden menedżer pakietów nie jest dostępny, skrypt pobiera oficjalne archiwum zip Node.js 24 dla systemu Windows do %LOCALAPPDATA%\OpenClaw\deps\portable-node i dodaje je do zmiennej PATH bieżącego procesu i użytkownika. Obsługiwane są Node 22.22.3+, Node 24.15+ i Node 25.9+; Node 23 nie jest obsługiwany.
3

Instalacja OpenClaw

  • Metoda npm (domyślna): globalna instalacja npm przy użyciu wybranego -Tag, uruchamiana z zapisywalnego katalogu tymczasowego instalatora, dzięki czemu działają również powłoki otwarte w chronionych folderach, takich jak C:\
  • Metoda git: klonowanie/aktualizacja repozytorium, instalacja/kompilacja za pomocą pnpm oraz instalacja skryptu opakowującego w %USERPROFILE%\.local\bin\openclaw.cmd. Jeśli brakuje Git, skrypt konfiguruje lokalny dla użytkownika MinGit w %LOCALAPPDATA%\OpenClaw\deps\portable-git i dodaje go do zmiennej PATH bieżącego procesu i użytkownika.
4

Zadania poinstalacyjne

  • W miarę możliwości dodaje wymagany katalog plików wykonywalnych do zmiennej PATH użytkownika
  • Podejmuje próbę odświeżenia załadowanej usługi Gateway (openclaw gateway install --force, a następnie ponowne uruchomienie)
  • Uruchamia openclaw doctor --non-interactive podczas aktualizacji i instalacji metodą git (w miarę możliwości)
5

Obsługa niepowodzeń

Instalacje za pomocą iwr ... | iex i bloku skryptu zgłaszają błąd kończący działanie polecenia bez zamykania bieżącej sesji PowerShell. Bezpośrednie instalacje powershell -File / pwsh -File nadal kończą się niezerowym kodem na potrzeby automatyzacji.

Przykłady (install.ps1)

Jeśli użyto -InstallMethod git, a Git nie jest zainstalowany, skrypt podejmuje próbę skonfigurowania lokalnego dla użytkownika MinGit przed wyświetleniem odnośnika do Git for Windows.

CI i automatyzacja

Aby zapewnić przewidywalne uruchomienia, należy używać nieinteraktywnych flag/zmiennych środowiskowych.

Rozwiązywanie problemów

Git jest wymagany dla metody instalacji git. W przypadku instalacji npm Git jest nadal sprawdzany/instalowany, aby uniknąć błędów spawn git ENOENT, gdy zależności używają adresów URL git.
W niektórych konfiguracjach systemu Linux globalny prefiks npm wskazuje ścieżki należące do użytkownika root. install.sh może zmienić prefiks na ~/.npm-global i dopisać instrukcje eksportu PATH do plików rc powłoki (jeśli te pliki istnieją).
Należy ponownie uruchomić instalator, aby mógł skonfigurować lokalny dla użytkownika MinGit, albo zainstalować Git for Windows i ponownie otworzyć PowerShell.
Należy uruchomić npm config get prefix i dodać ten katalog do zmiennej PATH użytkownika (w systemie Windows przyrostek \bin nie jest potrzebny), a następnie ponownie otworzyć PowerShell.
install.ps1 nie udostępnia przełącznika -Verbose. Do diagnostyki na poziomie skryptu należy użyć śledzenia PowerShell:
Zwykle jest to problem ze zmienną PATH. Zobacz rozwiązywanie problemów z Node.js.

Powiązane