Wewnętrzne mechanizmy instalatora¶
OpenClaw dostarcza trzy skrypty instalatora, udostępniane z openclaw.ai.
| Skrypt | Platforma | Co robi |
|---|---|---|
install.sh |
macOS / Linux / WSL | Instaluje Node, jeśli potrzeba, instaluje OpenClaw przez npm (domyślnie) lub git i może uruchomić onboarding. |
install-cli.sh |
macOS / Linux / WSL | Instaluje Node + OpenClaw do lokalnego prefiksu (~/.openclaw). Nie wymaga uprawnień roota. |
install.ps1 |
Windows (PowerShell) | Instaluje Node, jeśli potrzeba, instaluje OpenClaw przez npm (domyślnie) lub git i może uruchomić onboarding. |
Szybkie polecenia¶
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
````
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --help
```
````
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
````
```bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --help
```
````
powershell
iwr -useb https://openclaw.ai/install.ps1 | iex
````
```powershell
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag beta -NoOnboard -DryRun
```
````
openclaw, zobacz Rozwiązywanie problemów z Node.js.
install.sh¶
Przebieg (install.sh)¶
npm (domyślna): globalna instalacja npm
- metoda git: klonowanie/aktualizacja repozytorium, instalacja zależności przez pnpm, build, a następnie instalacja wrappera w ~/.local/bin/openclaw
openclaw doctor --non-interactive przy aktualizacjach i instalacjach git (best effort)
- Próbuje uruchomić onboarding, gdy jest to właściwe (dostępny TTY, onboarding nie jest wyłączony oraz przechodzą kontrole bootstrap/konfiguracji)
- Domyślnie SHARP_IGNORE_GLOBAL_LIBVIPS=1
Wykrywanie checkoutu źródłowego¶
Jeśli uruchomiono wewnątrz checkoutu OpenClaw (package.json + pnpm-workspace.yaml), skrypt oferuje:
- użycie checkoutu (
git), lub - użycie instalacji globalnej (
npm)
Jeśli nie ma dostępnego TTY i nie ustawiono metody instalacji, domyślnie wybierane jest npm i wyświetlane jest ostrzeżenie.
Skrypt kończy się kodem 2 przy nieprawidłowym wyborze metody lub nieprawidłowych wartościach --install-method.
Przykłady (install.sh)¶
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboard
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-run
| Flaga | Opis |
|---|---|
--install-method npm\\|git |
Wybór metody instalacji (domyślnie: npm). Alias: --method |
--npm |
Skrót do metody npm |
--git |
Skrót do metody git. Alias: --github |
--version <version\\|dist-tag> |
Wersja npm lub dist-tag (domyślnie: latest) |
--beta |
Użyj dist-tag beta, jeśli dostępny, w przeciwnym razie fallback do latest |
--git-dir <path> |
Katalog checkoutu (domyślnie: ~/openclaw). Alias: --dir |
--no-git-update |
Pomiń git pull dla istniejącego checkoutu |
--no-prompt |
Wyłącz monity |
--no-onboard |
Pomiń onboarding |
--onboard |
Włącz onboarding |
--dry-run |
Drukuj akcje bez stosowania zmian |
--verbose |
Włącz wyjście debug (set -x, logi npm na poziomie notice) |
--help |
Pokaż użycie (-h) |
| Zmienna | Opis |
|---|---|
OPENCLAW_INSTALL_METHOD=git\\|npm |
Metoda instalacji |
OPENCLAW_VERSION=latest\\|next\\|<semver> |
Wersja npm lub dist-tag |
OPENCLAW_BETA=0\\|1 |
Użyj beta, jeśli dostępne |
OPENCLAW_GIT_DIR=<path> |
Katalog checkoutu |
OPENCLAW_GIT_UPDATE=0\\|1 |
Przełącznik aktualizacji git |
OPENCLAW_NO_PROMPT=1 |
Wyłącz monity |
OPENCLAW_NO_ONBOARD=1 |
Pomiń onboarding |
OPENCLAW_DRY_RUN=1 |
Tryb dry run |
OPENCLAW_VERBOSE=1 |
Tryb debug |
OPENCLAW_NPM_LOGLEVEL=error\\|warn\\|notice |
Poziom logów npm |
SHARP_IGNORE_GLOBAL_LIBVIPS=0\\|1 |
Kontrola zachowania sharp/libvips (domyślnie: 1) |
install-cli.sh¶
~/.openclaw) i bez zależności od systemowego Node.
Przebieg (install-cli.sh)¶
22.22.0) do <prefix>/tools/node-v<version> i weryfikuje SHA-256.
--prefix <prefix>, a następnie zapisuje wrapper do <prefix>/bin/openclaw.
Przykłady (install-cli.sh)¶
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latest
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboard
| Flaga | Opis |
|---|---|
--prefix <path> |
Prefiks instalacji (domyślnie: ~/.openclaw) |
--version <ver> |
Wersja OpenClaw lub dist-tag (domyślnie: latest) |
--node-version <ver> |
Wersja Node (domyślnie: 22.22.0) |
--json |
Emituj zdarzenia NDJSON |
--onboard |
Uruchom openclaw onboard po instalacji |
--no-onboard |
Pomiń onboarding (domyślnie) |
--set-npm-prefix |
Na Linux wymuś prefiks npm na ~/.npm-global, jeśli bieżący prefiks nie jest zapisywalny |
--help |
Pokaż użycie (-h) |
| Zmienna | Opis |
|---|---|
OPENCLAW_PREFIX=<path> |
Prefiks instalacji |
OPENCLAW_VERSION=<ver> |
Wersja OpenClaw lub dist-tag |
OPENCLAW_NODE_VERSION=<ver> |
Wersja węzła |
OPENCLAW_NO_ONBOARD=1 |
Pomiń onboarding |
OPENCLAW_NPM_LOGLEVEL=error\\|warn\\|notice |
Poziom logów npm |
OPENCLAW_GIT_DIR=<path> |
Ścieżka wyszukiwania do czyszczenia legacy (używana przy usuwaniu starego checkoutu submodułu Peekaboo) |
SHARP_IGNORE_GLOBAL_LIBVIPS=0\\|1 |
Kontrola zachowania sharp/libvips (domyślnie: 1) |
install.ps1¶
Przebieg (install.ps1)¶
npm (domyślna): globalna instalacja npm z użyciem wybranego -Tag
- metoda git: klonowanie/aktualizacja repozytorium, instalacja/build przez pnpm oraz instalacja wrappera w %USERPROFILE%\.local\bin\openclaw.cmd
openclaw doctor --non-interactive przy aktualizacjach i instalacjach git (best effort).
Przykłady (install.ps1)¶
powershell
iwr -useb https://openclaw.ai/install.ps1 | iex
powershell
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git
powershell
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw"
powershell
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRun
| Flaga | Opis |
|---|---|
-InstallMethod npm\\|git |
Metoda instalacji (domyślnie: npm) |
-Tag <tag> |
dist-tag npm (domyślnie: latest) |
-GitDir <path> |
Katalog checkoutu (domyślnie: %USERPROFILE%\openclaw) |
-NoOnboard |
Pomiń onboarding |
-NoGitUpdate |
Pomiń git pull |
-DryRun |
Tylko akcje drukowania |
| Zmienna | Opis |
|---|---|
OPENCLAW_INSTALL_METHOD=git\\|npm |
Metoda instalacji |
OPENCLAW_GIT_DIR=<path> |
Katalog checkoutu |
OPENCLAW_NO_ONBOARD=1 |
Pomiń onboarding |
OPENCLAW_GIT_UPDATE=0 |
Wyłącz git pull |
OPENCLAW_DRY_RUN=1 |
Tryb dry run |
-InstallMethod git i brakuje Git, skrypt kończy działanie i wypisuje link do Git for Windows.
CI i automatyzacja¶
Używaj nieinteraktywnych flag/zmiennych środowiskowych dla przewidywalnych uruchomień.
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboard
bash
OPENCLAW_INSTALL_METHOD=git OPENCLAW_NO_PROMPT=1 \
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
powershell
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
Rozwiązywanie problemów¶
git. Dla 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.
install.sh może przełączyć prefiks na ~/.npm-global i dodać eksporty PATH do plików rc powłoki (gdy te pliki istnieją).
SHARP_IGNORE_GLOBAL_LIBVIPS=1, aby uniknąć budowania sharp przeciwko systemowemu libvips. Aby nadpisać:
````
```bash
SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
```
````
npm config get prefix, dołącz \bin, dodaj ten katalog do użytkowego PATH, a następnie otwórz ponownie PowerShell.