Node.js + npm (PATH richtig einrichten)

OpenClaw braucht mindestens Node 22+.

Wenn du npm install -g openclaw@latest ausführen kannst, aber danach openclaw: command not found siehst, liegt es fast immer am PATH: Das Verzeichnis, in dem npm globale Binaries ablegt, ist nicht in deinem Shell-PATH.

Schnelle Diagnose

Führe folgende Befehle aus:

node -v
npm -v
npm prefix -g
echo "$PATH"

Wenn $(npm prefix -g)/bin (macOS/Linux) oder $(npm prefix -g) (Windows) nicht in der Ausgabe von echo "$PATH" auftaucht, kann deine Shell globale npm-Binaries (einschließlich openclaw) nicht finden.

Lösung: npm’s globales bin-Verzeichnis zum PATH hinzufügen

  1. Finde dein globales npm-Prefix:
npm prefix -g
  1. Füge das globale npm-bin-Verzeichnis zu deiner Shell-Startdatei hinzu:
  • zsh: ~/.zshrc
  • bash: ~/.bashrc

Beispiel (ersetze den Pfad mit der Ausgabe von npm prefix -g):

# macOS / Linux
export PATH="/path/from/npm/prefix/bin:$PATH"

Öffne dann ein neues Terminal (oder führe rehash in zsh / hash -r in bash aus).

Unter Windows fügst du die Ausgabe von npm prefix -g zu deinem PATH hinzu.

Lösung: sudo npm install -g und Berechtigungsfehler vermeiden (Linux)

Wenn npm install -g ... mit EACCES fehlschlägt, ändere npm’s globales Prefix auf ein Verzeichnis, in das du schreiben kannst:

mkdir -p "$HOME/.npm-global"
npm config set prefix "$HOME/.npm-global"
export PATH="$HOME/.npm-global/bin:$PATH"

Trage die export PATH=... Zeile dauerhaft in deine Shell-Startdatei ein.

Empfohlene Node-Installationsoptionen

Am wenigsten Probleme hast du, wenn Node/npm so installiert sind, dass:

  • Node aktuell bleibt (22+)
  • das globale npm-bin-Verzeichnis stabil ist und in neuen Shells im PATH liegt

Gängige Optionen:

  • macOS: Homebrew (brew install node) oder ein Version Manager
  • Linux: dein bevorzugter Version Manager oder eine Distro-Installation mit Node 22+
  • Windows: offizieller Node-Installer, winget oder ein Windows Node Version Manager

Wenn du einen Version Manager (nvm/fnm/asdf/etc.) verwendest, stelle sicher, dass er in der Shell initialisiert wird, die du täglich nutzt (zsh vs bash), damit der PATH beim Ausführen von Installern gesetzt ist.