Install overview
Interni dell'installer
OpenClaw distribuisce tre script di installazione, serviti da openclaw.ai.
| Script | Piattaforma | Cosa fa |
|---|---|---|
install.sh |
macOS / Linux / WSL | Installa Node se necessario, installa OpenClaw tramite npm (predefinito) o git e può eseguire l'onboarding. |
install-cli.sh |
macOS / Linux / WSL | Installa Node + OpenClaw in un prefisso locale (~/.openclaw) con modalità npm o checkout git. Non richiede root. |
install.ps1 |
Windows (PowerShell) | Installa Node se necessario, installa OpenClaw tramite npm (predefinito) o git e può eseguire l'onboarding. |
Comandi rapidi
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
Flusso (install.sh)
Rileva il sistema operativo
Supporta macOS e Linux (incluso WSL).
Garantisce Node.js 24 per impostazione predefinita
Controlla la versione di Node e installa Node 24 se necessario (Homebrew su macOS, script di configurazione NodeSource su Linux apt/dnf/yum). Su macOS, Homebrew viene installato solo quando il programma di installazione ne ha bisogno per Node o Git. OpenClaw supporta ancora Node 22 LTS, attualmente 22.19+, per compatibilità.
Su Alpine/musl Linux, il programma di installazione usa i pacchetti apk invece di NodeSource; i repository Alpine configurati devono fornire Node 22.19+ (Alpine 3.21 o successiva al momento della stesura).
Garantisce Git
Installa Git se manca usando il gestore di pacchetti rilevato, inclusi Homebrew su macOS e apk su Alpine.
Installa OpenClaw
- metodo
npm(predefinito): installazione npm globale - metodo
git: clona/aggiorna il repository, installa le dipendenze con pnpm, compila, quindi installa il wrapper in~/.local/bin/openclaw
Attività post-installazione
- Aggiorna al meglio un servizio Gateway caricato (
openclaw gateway install --force, quindi riavvio) - Esegue
openclaw doctor --non-interactivedurante aggiornamenti e installazioni git (al meglio) - Tenta l'onboarding quando appropriato (TTY disponibile, onboarding non disabilitato e controlli bootstrap/config superati)
Rilevamento del checkout sorgente
Se eseguito all'interno di un checkout OpenClaw (package.json + pnpm-workspace.yaml), lo script offre:
- usare il checkout (
git), oppure - usare l'installazione globale (
npm)
Se non è disponibile alcun TTY e non è impostato alcun metodo di installazione, usa npm come predefinito e mostra un avviso.
Lo script termina con codice 2 per una selezione del metodo non valida o valori --install-method non validi.
Esempi (install.sh)
Predefinito
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bashSalta onboarding
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboardInstallazione Git
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method gitCheckout main di GitHub
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version mainDry run
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-runRiferimento dei flag
| Flag | Descrizione |
|---|---|
--install-method npm|git |
Scegli il metodo di installazione (predefinito: npm). Alias: --method |
--npm |
Scorciatoia per il metodo npm |
--git |
Scorciatoia per il metodo git. Alias: --github |
--version <version|dist-tag|spec> |
Versione npm, dist-tag o specifica del pacchetto (predefinito: latest) |
--beta |
Usa il dist-tag beta se disponibile, altrimenti ripiega su latest |
--git-dir <path> |
Directory di checkout (predefinita: ~/openclaw). Alias: --dir |
--no-git-update |
Salta git pull per un checkout esistente |
--no-prompt |
Disabilita i prompt |
--no-onboard |
Salta l'onboarding |
--onboard |
Abilita l'onboarding |
--dry-run |
Stampa le azioni senza applicare modifiche |
--verbose |
Abilita l'output di debug (set -x, log npm a livello notice) |
--help |
Mostra l'utilizzo (-h) |
Riferimento delle variabili d'ambiente
| Variabile | Descrizione |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm |
Metodo di installazione |
OPENCLAW_VERSION=latest|next|<semver>|<spec> |
Versione npm, dist-tag o specifica del pacchetto |
OPENCLAW_BETA=0|1 |
Usa beta se disponibile |
OPENCLAW_HOME=<path> |
Directory base per lo stato OpenClaw e i percorsi git/onboarding predefiniti |
OPENCLAW_GIT_DIR=<path> |
Directory di checkout |
OPENCLAW_GIT_UPDATE=0|1 |
Attiva/disattiva gli aggiornamenti git |
OPENCLAW_NO_PROMPT=1 |
Disabilita i prompt |
OPENCLAW_NO_ONBOARD=1 |
Salta l'onboarding |
OPENCLAW_DRY_RUN=1 |
Modalità dry run |
OPENCLAW_VERBOSE=1 |
Modalità debug |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
Livello di log npm |
install-cli.sh
Flusso (install-cli.sh)
Installa il runtime Node locale
Scarica un tarball Node LTS supportato e fissato (la versione è incorporata nello script e aggiornata indipendentemente) in <prefix>/tools/node-v<version> e verifica SHA-256.
Su Alpine/musl Linux, dove Node non pubblica tarball compatibili per il runtime fissato, installa nodejs e npm con apk e collega quel runtime nel percorso del wrapper del prefisso. I repository Alpine devono fornire Node 22.19+; usa Alpine 3.21 o successiva se repository più vecchi forniscono solo Node 20 o 21.
Garantisce Git
Se Git manca, tenta l'installazione tramite apt/dnf/yum/apk su Linux o Homebrew su macOS.
Installa OpenClaw sotto il prefisso
- metodo
npm(predefinito): installa sotto il prefisso con npm, quindi scrive il wrapper in<prefix>/bin/openclaw - metodo
git: clona/aggiorna un checkout (predefinito~/openclaw) e scrive comunque il wrapper in<prefix>/bin/openclaw
Aggiorna il servizio Gateway caricato
Se un servizio Gateway è già caricato dallo stesso prefisso, lo script esegue
openclaw gateway install --force, quindi openclaw gateway restart, e
controlla al meglio l'integrità del Gateway.
Esempi (install-cli.sh)
Predefinito
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bashPrefisso personalizzato + versione
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latestInstallazione Git
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --install-method git --git-dir ~/openclawOutput JSON per automazione
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclawEsegui onboarding
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboardRiferimento dei flag
| Flag | Descrizione |
|---|---|
--prefix <path> |
Prefisso di installazione (predefinito: ~/.openclaw) |
--install-method npm|git |
Scegli il metodo di installazione (predefinito: npm). Alias: --method |
--npm |
Scorciatoia per il metodo npm |
--git, --github |
Scorciatoia per il metodo git |
--git-dir <path> |
Directory del checkout Git (predefinita: ~/openclaw). Alias: --dir |
--version <ver> |
Versione di OpenClaw o dist-tag (predefinito: latest) |
--node-version <ver> |
Versione di Node (predefinita: 22.22.0) |
--json |
Emetti eventi NDJSON |
--onboard |
Esegui openclaw onboard dopo l'installazione |
--no-onboard |
Salta l'onboarding (predefinito) |
--set-npm-prefix |
Su Linux, forza il prefisso npm a ~/.npm-global se il prefisso attuale non è scrivibile |
--help |
Mostra l'utilizzo (-h) |
Environment variables reference
| Variabile | Descrizione |
|---|---|
OPENCLAW_PREFIX=<path> |
Prefisso di installazione |
OPENCLAW_INSTALL_METHOD=git|npm |
Metodo di installazione |
OPENCLAW_VERSION=<ver> |
Versione di OpenClaw o dist-tag |
OPENCLAW_NODE_VERSION=<ver> |
Versione di Node |
OPENCLAW_HOME=<path> |
Directory di base per lo stato di OpenClaw e i percorsi git/onboarding predefiniti |
OPENCLAW_GIT_DIR=<path> |
Directory del checkout Git per le installazioni git |
OPENCLAW_GIT_UPDATE=0|1 |
Attiva o disattiva gli aggiornamenti git per i checkout esistenti |
OPENCLAW_NO_ONBOARD=1 |
Salta l'onboarding |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
Livello di log npm |
install.ps1
Flusso (install.ps1)
Ensure PowerShell + Windows environment
Richiede PowerShell 5+.
Ensure Node.js 24 by default
Se manca, tenta l'installazione tramite winget, poi Chocolatey, poi Scoop. Se non è disponibile alcun gestore di pacchetti, lo script scarica lo zip ufficiale di Node.js per Windows in %LOCALAPPDATA%\OpenClaw\deps\portable-node e lo aggiunge al PATH del processo corrente e dell'utente. Node 22 LTS, attualmente 22.19+, rimane supportato per compatibilità.
Install OpenClaw
- Metodo
npm(predefinito): installazione npm globale usando il-Tagselezionato, avviata da una directory temporanea del programma di installazione scrivibile, così le shell aperte in cartelle protette comeC:\funzionano comunque - Metodo
git: clona/aggiorna il repo, installa/compila con pnpm e installa il wrapper in%USERPROFILE%\.local\bin\openclaw.cmd. Se Git manca, lo script esegue il bootstrap di MinGit locale per l'utente in%LOCALAPPDATA%\OpenClaw\deps\portable-gite lo aggiunge al PATH del processo corrente e dell'utente.
Post-install tasks
- Aggiunge la directory bin necessaria al PATH dell'utente quando possibile
- Aggiorna al meglio un servizio gateway caricato (
openclaw gateway install --force, poi riavvio) - Esegue
openclaw doctor --non-interactivesugli aggiornamenti e sulle installazioni git (al meglio)
Handle failures
iwr ... | iex e le installazioni tramite scriptblock segnalano un errore terminante senza chiudere la sessione PowerShell corrente. Le installazioni dirette powershell -File / pwsh -File continuano a uscire con codice diverso da zero per l'automazione.
Esempi (install.ps1)
Default
iwr -useb https://openclaw.ai/install.ps1 | iexGit install
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod gitGitHub main checkout
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -Tag mainCustom git directory
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw"Dry run
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRunDebug trace
# install.ps1 has no dedicated -Verbose flag yet.Set-PSDebug -Trace 1& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSet-PSDebug -Trace 0Flags reference
| Flag | Descrizione |
|---|---|
-InstallMethod npm|git |
Metodo di installazione (predefinito: npm) |
-Tag <tag|version|spec> |
dist-tag npm, versione o specifica del pacchetto (predefinito: latest) |
-GitDir <path> |
Directory del checkout (predefinita: %USERPROFILE%\openclaw) |
-NoOnboard |
Salta l'onboarding |
-NoGitUpdate |
Salta git pull |
-DryRun |
Stampa solo le azioni |
Environment variables reference
| Variabile | Descrizione |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm |
Metodo di installazione |
OPENCLAW_GIT_DIR=<path> |
Directory del checkout |
OPENCLAW_NO_ONBOARD=1 |
Salta l'onboarding |
OPENCLAW_GIT_UPDATE=0 |
Disabilita git pull |
OPENCLAW_DRY_RUN=1 |
Modalità dry run |
CI e automazione
Usa flag/variabili d'ambiente non interattivi per esecuzioni prevedibili.
install.sh (non-interactive npm)
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboardinstall.sh (non-interactive git)
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 (skip onboarding)
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardRisoluzione dei problemi
Why is Git required?
Git è richiesto per il metodo di installazione git. Per le installazioni npm, Git viene comunque controllato/installato per evitare errori spawn git ENOENT quando le dipendenze usano URL git.
Why does npm hit EACCES on Linux?
Alcune configurazioni Linux puntano il prefisso globale npm a percorsi di proprietà di root. install.sh può cambiare il prefisso in ~/.npm-global e aggiungere esportazioni PATH ai file rc della shell (quando tali file esistono).
Windows: "npm error spawn git / ENOENT"
Riesegui il programma di installazione affinché possa eseguire il bootstrap di MinGit locale per l'utente, oppure installa Git for Windows e riapri PowerShell.
Windows: "openclaw is not recognized"
Esegui npm config get prefix e aggiungi quella directory al PATH dell'utente (su Windows non serve il suffisso \bin), poi riapri PowerShell.
Windows: how to get verbose installer output
install.ps1 attualmente non espone uno switch -Verbose.
Usa il tracing di PowerShell per la diagnostica a livello di script:
Set-PSDebug -Trace 1& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSet-PSDebug -Trace 0openclaw not found after install
Di solito è un problema di PATH. Vedi risoluzione dei problemi di Node.js.