Installer-Interna

OpenClaw bietet zwei Installer-Skripte (gehostet auf openclaw.ai):

  • https://openclaw.ai/install.sh — empfohlener Installer (standardmäßig globale npm-Installation; kann auch aus einem GitHub-Checkout installieren)
  • https://openclaw.ai/install-cli.sh — CLI-Installer ohne Root-Rechte (installiert in ein Prefix mit eigenem Node)
  • https://openclaw.ai/install.ps1 — Windows PowerShell-Installer (standardmäßig npm; optional git-Installation)

Um die aktuellen Flags und das Verhalten zu sehen, führe aus:

curl -fsSL https://openclaw.ai/install.sh | bash -s -- --help

Windows (PowerShell) Hilfe:

& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -?

Falls der Installer durchläuft, aber openclaw in einem neuen Terminal nicht gefunden wird, liegt es meist an einem Node/npm PATH-Problem. Siehe: Installation.

install.sh (empfohlen)

Was das Skript macht (Überblick):

  • Erkennt das Betriebssystem (macOS / Linux / WSL).
  • Stellt sicher, dass Node.js 22+ vorhanden ist (macOS via Homebrew; Linux via NodeSource).
  • Wählt die Installationsmethode:
    • npm (Standard): npm install -g openclaw@latest
    • git: clont/baut einen Source-Checkout und installiert ein Wrapper-Skript
  • Unter Linux: Vermeidet globale npm-Berechtigungsfehler, indem das npm-Prefix bei Bedarf auf ~/.npm-global umgestellt wird.
  • Bei einem Upgrade einer bestehenden Installation: führt openclaw doctor --non-interactive aus (best effort).
  • Bei git-Installationen: führt openclaw doctor --non-interactive nach der Installation/dem Update aus (best effort).
  • Umgeht sharp-Installationsprobleme durch SHARP_IGNORE_GLOBAL_LIBVIPS=1 (vermeidet das Bauen gegen System-libvips).

Falls du möchtest, dass sharp gegen ein global installiertes libvips linkt (oder du debuggst), setze:

SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL https://openclaw.ai/install.sh | bash

Erkennung / “git install”-Prompt

Wenn du den Installer ausführst, während du dich bereits in einem OpenClaw-Source-Checkout befindest (erkannt über package.json + pnpm-workspace.yaml), fragt er:

  • diesen Checkout aktualisieren und verwenden (git)
  • oder zur globalen npm-Installation migrieren (npm)

In nicht-interaktiven Kontexten (kein TTY / --no-prompt) musst du --install-method git|npm übergeben (oder OPENCLAW_INSTALL_METHOD setzen), sonst beendet sich das Skript mit Exit-Code 2.

Warum Git benötigt wird

Git ist für den --install-method git-Pfad erforderlich (clone / pull).

Für npm-Installationen ist Git normalerweise nicht nötig, aber manche Umgebungen brauchen es trotzdem (z.B. wenn ein Paket oder eine Dependency über eine git-URL geholt wird). Der Installer stellt aktuell sicher, dass Git vorhanden ist, um spawn git ENOENT-Überraschungen auf frischen Distros zu vermeiden.

Warum npm auf frischem Linux EACCES wirft

Bei manchen Linux-Setups (besonders nach Installation von Node über den System-Paketmanager oder NodeSource) zeigt das globale npm-Prefix auf einen root-eigenen Ordner. Dann schlägt npm install -g ... mit EACCES / mkdir-Berechtigungsfehlern fehl.

install.sh umgeht das, indem es das Prefix umstellt auf:

  • ~/.npm-global (und fügt es zu PATH in ~/.bashrc / ~/.zshrc hinzu, falls vorhanden)

install-cli.sh (CLI-Installer ohne Root)

Dieses Skript installiert openclaw in ein Prefix (Standard: ~/.openclaw) und installiert auch eine dedizierte Node-Runtime unter diesem Prefix. So funktioniert es auf Maschinen, wo du das System-Node/npm nicht anfassen willst.

Hilfe:

curl -fsSL https://openclaw.ai/install-cli.sh | bash -s -- --help

install.ps1 (Windows PowerShell)

Was das Skript macht (Überblick):

  • Stellt sicher, dass Node.js 22+ vorhanden ist (winget/Chocolatey/Scoop oder manuell).
  • Wählt die Installationsmethode:
    • npm (Standard): npm install -g openclaw@latest
    • git: clont/baut einen Source-Checkout und installiert ein Wrapper-Skript
  • Führt openclaw doctor --non-interactive bei Upgrades und git-Installationen aus (best effort).

Beispiele:

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"

Umgebungsvariablen:

  • OPENCLAW_INSTALL_METHOD=git|npm
  • OPENCLAW_GIT_DIR=...

Git-Anforderung:

Wenn du -InstallMethod git wählst und Git fehlt, gibt der Installer den Git for Windows-Link aus (https://git-scm.com/download/win) und beendet sich.

Häufige Windows-Probleme:

  • npm error spawn git / ENOENT: Installiere Git for Windows, öffne PowerShell neu und führe den Installer erneut aus.
  • “openclaw” is not recognized: Dein npm-Global-Bin-Ordner ist nicht im PATH. Die meisten Systeme nutzen %AppData%\\npm. Du kannst auch npm config get prefix ausführen und \\bin zum PATH hinzufügen, dann PowerShell neu öffnen.