Install overview
Fonctionnement interne de l’installateur
OpenClaw fournit trois scripts d’installation, servis depuis openclaw.ai.
| Script | Plateforme | Ce qu’il fait |
|---|---|---|
install.sh |
macOS / Linux / WSL | Installe Node si nécessaire, installe OpenClaw via npm (par défaut) ou git, et peut lancer l’onboarding. |
install-cli.sh |
macOS / Linux / WSL | Installe Node + OpenClaw dans un préfixe local (~/.openclaw) avec les modes npm ou checkout git. Aucun accès root requis. |
install.ps1 |
Windows (PowerShell) | Installe Node si nécessaire, installe OpenClaw via npm (par défaut) ou git, et peut lancer l’onboarding. |
Commandes rapides
install.sh
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bashcurl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --helpinstall-cli.sh
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bashcurl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --helpinstall.ps1
iwr -useb https://openclaw.ai/install.ps1 | iex& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag beta -NoOnboard -DryRuninstall.sh
Flux (install.sh)
Détecter le système d’exploitation
Prend en charge macOS et Linux (y compris WSL).
Garantir Node.js 24 par défaut
Vérifie la version de Node et installe Node 24 si nécessaire (Homebrew sur macOS, scripts de configuration NodeSource sur Linux apt/dnf/yum). Sur macOS, Homebrew n’est installé que lorsque l’installateur en a besoin pour Node ou Git. OpenClaw prend toujours en charge Node 22 LTS, actuellement 22.19+, pour la compatibilité.
Sur Alpine/musl Linux, l’installateur utilise les paquets apk au lieu de NodeSource ; les dépôts Alpine configurés doivent fournir Node 22.19+ (Alpine 3.21 ou version ultérieure au moment de la rédaction).
Garantir Git
Installe Git s’il est absent en utilisant le gestionnaire de paquets détecté, y compris Homebrew sur macOS et apk sur Alpine.
Installer OpenClaw
- Méthode
npm(par défaut) : installation npm globale - Méthode
git: clone/met à jour le dépôt, installe les dépendances avec pnpm, compile, puis installe le wrapper dans~/.local/bin/openclaw
Tâches post-installation
- Actualise au mieux un service Gateway chargé (
openclaw gateway install --force, puis redémarrage) - Exécute
openclaw doctor --non-interactivelors des mises à niveau et des installations git (au mieux) - Tente l’onboarding lorsque c’est approprié (TTY disponible, onboarding non désactivé, et vérifications bootstrap/config réussies)
Détection d’un checkout source
S’il est exécuté dans un checkout OpenClaw (package.json + pnpm-workspace.yaml), le script propose :
- utiliser le checkout (
git), ou - utiliser l’installation globale (
npm)
Si aucun TTY n’est disponible et qu’aucune méthode d’installation n’est définie, il utilise npm par défaut et émet un avertissement.
Le script se termine avec le code 2 en cas de sélection de méthode invalide ou de valeurs --install-method invalides.
Exemples (install.sh)
Par défaut
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bashIgnorer l’onboarding
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboardInstallation Git
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method gitCheckout main GitHub
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version mainSimulation
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-runRéférence des flags
| Flag | Description |
|---|---|
--install-method npm|git |
Choisir la méthode d’installation (par défaut : npm). Alias : --method |
--npm |
Raccourci pour la méthode npm |
--git |
Raccourci pour la méthode git. Alias : --github |
--version <version|dist-tag|spec> |
Version npm, dist-tag ou spécification de paquet (par défaut : latest) |
--beta |
Utiliser le dist-tag beta s’il est disponible, sinon revenir à latest |
--git-dir <path> |
Répertoire de checkout (par défaut : ~/openclaw). Alias : --dir |
--no-git-update |
Ignorer git pull pour un checkout existant |
--no-prompt |
Désactiver les invites |
--no-onboard |
Ignorer l’onboarding |
--onboard |
Activer l’onboarding |
--dry-run |
Afficher les actions sans appliquer les changements |
--verbose |
Activer la sortie de débogage (set -x, journaux npm au niveau notice) |
--help |
Afficher l’utilisation (-h) |
Référence des variables d’environnement
| Variable | Description |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm |
Méthode d’installation |
OPENCLAW_VERSION=latest|next|<semver>|<spec> |
Version npm, dist-tag ou spécification de paquet |
OPENCLAW_BETA=0|1 |
Utiliser beta si disponible |
OPENCLAW_HOME=<path> |
Répertoire de base pour l’état OpenClaw et les chemins git/onboarding par défaut |
OPENCLAW_GIT_DIR=<path> |
Répertoire de checkout |
OPENCLAW_GIT_UPDATE=0|1 |
Activer/désactiver les mises à jour git |
OPENCLAW_NO_PROMPT=1 |
Désactiver les invites |
OPENCLAW_NO_ONBOARD=1 |
Ignorer l’onboarding |
OPENCLAW_DRY_RUN=1 |
Mode simulation |
OPENCLAW_VERBOSE=1 |
Mode débogage |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
Niveau de journalisation npm |
install-cli.sh
Flux (install-cli.sh)
Installer le runtime Node local
Télécharge une archive tarball Node LTS prise en charge et épinglée (la version est intégrée au script et mise à jour indépendamment) dans <prefix>/tools/node-v<version> et vérifie le SHA-256.
Sur Alpine/musl Linux, où Node ne publie pas d’archives tarball compatibles avec le runtime épinglé, installe nodejs et npm avec apk et lie ce runtime au chemin du wrapper dans le préfixe. Les dépôts Alpine doivent fournir Node 22.19+ ; utilisez Alpine 3.21 ou version ultérieure si des dépôts plus anciens ne fournissent que Node 20 ou 21.
Garantir Git
Si Git est absent, tente l’installation via apt/dnf/yum/apk sur Linux ou Homebrew sur macOS.
Installer OpenClaw sous le préfixe
- Méthode
npm(par défaut) : installe sous le préfixe avec npm, puis écrit le wrapper dans<prefix>/bin/openclaw - Méthode
git: clone/met à jour un checkout (par défaut~/openclaw) et écrit tout de même le wrapper dans<prefix>/bin/openclaw
Actualiser le service Gateway chargé
Si un service Gateway est déjà chargé depuis ce même préfixe, le script exécute
openclaw gateway install --force, puis openclaw gateway restart, et
sonde l’état de santé du Gateway au mieux.
Exemples (install-cli.sh)
Par défaut
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bashPréfixe + version personnalisés
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latestInstallation Git
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --install-method git --git-dir ~/openclawSortie JSON pour automatisation
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclawExécuter l’onboarding
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboardRéférence des flags
| Option | Description |
|---|---|
--prefix <path> |
Préfixe d’installation (par défaut : ~/.openclaw) |
--install-method npm|git |
Choisir la méthode d’installation (par défaut : npm). Alias : --method |
--npm |
Raccourci pour la méthode npm |
--git, --github |
Raccourci pour la méthode git |
--git-dir <path> |
Répertoire de checkout Git (par défaut : ~/openclaw). Alias : --dir |
--version <ver> |
Version OpenClaw ou dist-tag (par défaut : latest) |
--node-version <ver> |
Version Node (par défaut : 22.22.0) |
--json |
Émettre des événements NDJSON |
--onboard |
Exécuter openclaw onboard après l’installation |
--no-onboard |
Ignorer l’onboarding (par défaut) |
--set-npm-prefix |
Sous Linux, forcer le préfixe npm à ~/.npm-global si le préfixe actuel n’est pas accessible en écriture |
--help |
Afficher l’utilisation (-h) |
Référence des variables d’environnement
| Variable | Description |
|---|---|
OPENCLAW_PREFIX=<path> |
Préfixe d’installation |
OPENCLAW_INSTALL_METHOD=git|npm |
Méthode d’installation |
OPENCLAW_VERSION=<ver> |
Version OpenClaw ou dist-tag |
OPENCLAW_NODE_VERSION=<ver> |
Version Node |
OPENCLAW_HOME=<path> |
Répertoire de base pour l’état OpenClaw et les chemins git/onboarding par défaut |
OPENCLAW_GIT_DIR=<path> |
Répertoire de checkout Git pour les installations git |
OPENCLAW_GIT_UPDATE=0|1 |
Activer ou désactiver les mises à jour git pour les checkouts existants |
OPENCLAW_NO_ONBOARD=1 |
Ignorer l’onboarding |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
Niveau de journalisation npm |
install.ps1
Flux (install.ps1)
Vérifier l’environnement PowerShell + Windows
Nécessite PowerShell 5+.
Garantir Node.js 24 par défaut
S’il est absent, tente l’installation via winget, puis Chocolatey, puis Scoop. Si aucun gestionnaire de paquets n’est disponible, le script télécharge le zip Windows officiel de Node.js dans %LOCALAPPDATA%\OpenClaw\deps\portable-node et l’ajoute au PATH du processus actuel et de l’utilisateur. Node 22 LTS, actuellement 22.19+, reste pris en charge pour la compatibilité.
Installer OpenClaw
- Méthode
npm(par défaut) : installation npm globale avec le-Tagsélectionné, lancée depuis un répertoire temporaire d’installation accessible en écriture afin que les shells ouverts dans des dossiers protégés commeC:\fonctionnent toujours - Méthode
git: cloner/mettre à jour le dépôt, installer/compiler avec pnpm, et installer le wrapper dans%USERPROFILE%\.local\bin\openclaw.cmd. Si Git est absent, le script initialise MinGit en local utilisateur sous%LOCALAPPDATA%\OpenClaw\deps\portable-gitet l’ajoute au PATH du processus actuel et de l’utilisateur.
Tâches post-installation
- Ajoute le répertoire bin nécessaire au PATH utilisateur quand c’est possible
- Actualise au mieux un service Gateway chargé (
openclaw gateway install --force, puis redémarrage) - Exécute
openclaw doctor --non-interactivelors des mises à niveau et des installations git (au mieux)
Gérer les échecs
Les installations iwr ... | iex et scriptblock signalent une erreur terminale sans fermer la session PowerShell actuelle. Les installations directes powershell -File / pwsh -File quittent toujours avec un code non nul pour l’automatisation.
Exemples (install.ps1)
Par défaut
iwr -useb https://openclaw.ai/install.ps1 | iexInstallation Git
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod gitCheckout GitHub main
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -Tag mainRépertoire git personnalisé
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw"Simulation
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRunTrace de débogage
# install.ps1 has no dedicated -Verbose flag yet.Set-PSDebug -Trace 1& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSet-PSDebug -Trace 0Référence des options
| Option | Description |
|---|---|
-InstallMethod npm|git |
Méthode d’installation (par défaut : npm) |
-Tag <tag|version|spec> |
dist-tag npm, version ou spécification de paquet (par défaut : latest) |
-GitDir <path> |
Répertoire de checkout (par défaut : %USERPROFILE%\openclaw) |
-NoOnboard |
Ignorer l’onboarding |
-NoGitUpdate |
Ignorer git pull |
-DryRun |
Afficher uniquement les actions |
Référence des variables d’environnement
| Variable | Description |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm |
Méthode d’installation |
OPENCLAW_GIT_DIR=<path> |
Répertoire de checkout |
OPENCLAW_NO_ONBOARD=1 |
Ignorer l’onboarding |
OPENCLAW_GIT_UPDATE=0 |
Désactiver git pull |
OPENCLAW_DRY_RUN=1 |
Mode simulation |
CI et automatisation
Utilisez des options/variables d’environnement non interactives pour des exécutions prévisibles.
install.sh (npm non interactif)
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboardinstall.sh (git non interactif)
OPENCLAW_INSTALL_METHOD=git OPENCLAW_NO_PROMPT=1 \ curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bashinstall-cli.sh (JSON)
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclawinstall.ps1 (ignorer l’onboarding)
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardDépannage
Pourquoi Git est-il requis ?
Git est requis pour la méthode d’installation git. Pour les installations npm, Git est tout de même vérifié/installé afin d’éviter les échecs spawn git ENOENT lorsque des dépendances utilisent des URL git.
Pourquoi npm rencontre-t-il EACCES sous Linux ?
Certaines configurations Linux font pointer le préfixe global npm vers des chemins appartenant à root. install.sh peut basculer le préfixe vers ~/.npm-global et ajouter les exports PATH aux fichiers rc du shell (quand ces fichiers existent).
Windows : "npm error spawn git / ENOENT"
Relancez l’installateur afin qu’il puisse initialiser MinGit en local utilisateur, ou installez Git for Windows et rouvrez PowerShell.
Windows : "openclaw is not recognized"
Exécutez npm config get prefix et ajoutez ce répertoire à votre PATH utilisateur (aucun suffixe \bin n’est nécessaire sous Windows), puis rouvrez PowerShell.
Windows : comment obtenir une sortie d’installation détaillée
install.ps1 n’expose actuellement pas de commutateur -Verbose.
Utilisez le traçage PowerShell pour les diagnostics au niveau du script :
Set-PSDebug -Trace 1& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSet-PSDebug -Trace 0openclaw introuvable après l’installation
Il s’agit généralement d’un problème de PATH. Consultez le dépannage Node.js.