Install overview
Dettagli interni del programma di installazione
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 la configurazione iniziale. |
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 la configurazione iniziale. |
Comandi rapidi
install.sh
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --help
install-cli.sh
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --help
install.ps1
iwr -useb https://openclaw.ai/install.ps1 | iex
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag beta -NoOnboard -DryRun
install.sh
Flusso (install.sh)
Detect OS
Supporta macOS e Linux (incluso WSL). Se viene rilevato macOS, installa Homebrew se manca.
Ensure Node.js 24 by default
Controlla la versione di Node e installa Node 24 se necessario (Homebrew su macOS, script di configurazione NodeSource su Linux apt/dnf/yum). OpenClaw supporta ancora Node 22 LTS, attualmente 22.14+, per compatibilità.
Ensure Git
Installa Git se manca.
Install OpenClaw
- metodo
npm(predefinito): installazione npm globale - metodo
git: clona/aggiorna il repository, installa le dipendenze con pnpm, esegue la build, quindi installa il wrapper in~/.local/bin/openclaw
Post-install tasks
- Aggiorna al meglio un servizio gateway caricato (
openclaw gateway install --force, poi riavvio) - Esegue
openclaw doctor --non-interactivesugli aggiornamenti e sulle installazioni git (best effort) - Tenta la configurazione iniziale quando appropriato (TTY disponibile, configurazione iniziale non disabilitata, e controlli bootstrap/config superati)
- Imposta come predefinito
SHARP_IGNORE_GLOBAL_LIBVIPS=1
Rilevamento del checkout sorgente
Se eseguito dentro un checkout di 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 per impostazione predefinita npm e mostra un avviso.
Lo script termina con codice 2 per una selezione di metodo non valida o valori --install-method non validi.
Esempi (install.sh)
Default
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
Skip onboarding
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboard
Git install
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git
GitHub main via npm
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --version main
Dry run
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-run
Flags reference
| 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 il checkout esistente |
--no-prompt |
Disabilita i prompt |
--no-onboard |
Salta la configurazione iniziale |
--onboard |
Abilita la configurazione iniziale |
--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) |
Environment variables reference
| Variabile | Descrizione |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm |
Metodo di installazione |
OPENCLAW_VERSION=latest|next|main|<semver>|<spec> |
Versione npm, dist-tag o specifica del pacchetto |
OPENCLAW_BETA=0|1 |
Usa beta se disponibile |
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 la configurazione iniziale |
OPENCLAW_DRY_RUN=1 |
Modalità dry run |
OPENCLAW_VERBOSE=1 |
Modalità debug |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
Livello di log npm |
SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 |
Controlla il comportamento sharp/libvips (predefinito: 1) |
install-cli.sh
Flusso (install-cli.sh)
Install local Node runtime
Scarica un tarball Node LTS supportato e fissato a una versione specifica (la versione è incorporata nello script e aggiornata indipendentemente) in <prefix>/tools/node-v<version> e verifica SHA-256.
Ensure Git
Se Git manca, tenta l'installazione tramite apt/dnf/yum su Linux o Homebrew su macOS.
Install OpenClaw under prefix
- 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
Refresh loaded gateway service
Se un servizio gateway è già caricato da quello stesso prefisso, lo script esegue
openclaw gateway install --force, poi openclaw gateway restart, e
sonda al meglio lo stato del gateway.
Esempi (install-cli.sh)
Default
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
Custom prefix + version
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latest
Git install
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --install-method git --git-dir ~/openclaw
Automation JSON output
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
Run onboarding
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboard
Flags reference
| 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 OpenClaw o dist-tag (predefinito: latest) |
--node-version <ver> |
Versione di Node (predefinita: 22.22.0) |
--json |
Emette eventi NDJSON |
--onboard |
Esegue openclaw onboard dopo l'installazione |
--no-onboard |
Salta la configurazione iniziale (predefinito) |
--set-npm-prefix |
Su Linux, forza il prefisso npm a ~/.npm-global se il prefisso corrente 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 OpenClaw o dist-tag |
OPENCLAW_NODE_VERSION=<ver> |
Versione Node |
OPENCLAW_GIT_DIR=<path> |
Directory di checkout Git per installazioni git |
OPENCLAW_GIT_UPDATE=0|1 |
Attiva/disattiva gli aggiornamenti git per checkout esistenti |
OPENCLAW_NO_ONBOARD=1 |
Salta l'onboarding |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
Livello di log npm |
SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 |
Controlla il comportamento sharp/libvips (predefinito: 1) |
install.ps1
Flusso (install.ps1)
Garantisci l'ambiente PowerShell + Windows
Richiede PowerShell 5+.
Garantisci Node.js 24 per impostazione predefinita
Se manca, tenta l'installazione tramite winget, poi Chocolatey, poi Scoop. Node 22 LTS, attualmente 22.14+, resta supportato per compatibilità.
Installa OpenClaw
- Metodo
npm(predefinito): installazione npm globale usando il-Tagselezionato, avviata da una directory temporanea di installazione scrivibile in modo che funzionino comunque le shell aperte in cartelle protette comeC:\ - Metodo
git: clona/aggiorna il repository, installa/compila con pnpm e installa il wrapper in%USERPROFILE%\.local\bin\openclaw.cmd
Attività post-installazione
- Aggiunge la directory bin necessaria al PATH 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)
Gestisci gli errori
Le installazioni iwr ... | iex e scriptblock segnalano un errore terminante senza chiudere la sessione PowerShell corrente. Le installazioni dirette powershell -File / pwsh -File escono comunque con codice diverso da zero per l'automazione.
Esempi (install.ps1)
Predefinito
iwr -useb https://openclaw.ai/install.ps1 | iex
Installazione git
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git
main di GitHub tramite npm
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag main
Directory git personalizzata
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw"
Esecuzione di prova
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRun
Traccia di debug
# install.ps1 has no dedicated -Verbose flag yet.
Set-PSDebug -Trace 1
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
Set-PSDebug -Trace 0
Riferimento flag
| Flag | Descrizione |
|---|---|
-InstallMethod npm|git |
Metodo di installazione (predefinito: npm) |
-Tag <tag|version|spec> |
dist-tag npm, versione o specifica pacchetto (predefinito: latest) |
-GitDir <path> |
Directory di checkout (predefinita: %USERPROFILE%\openclaw) |
-NoOnboard |
Salta l'onboarding |
-NoGitUpdate |
Salta git pull |
-DryRun |
Stampa solo le azioni |
Riferimento variabili d'ambiente
| Variabile | Descrizione |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm |
Metodo di installazione |
OPENCLAW_GIT_DIR=<path> |
Directory di checkout |
OPENCLAW_NO_ONBOARD=1 |
Salta l'onboarding |
OPENCLAW_GIT_UPDATE=0 |
Disabilita git pull |
OPENCLAW_DRY_RUN=1 |
Modalità esecuzione di prova |
CI e automazione
Usa flag/variabili d'ambiente non interattivi per esecuzioni prevedibili.
install.sh (npm non interattivo)
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboard
install.sh (git non interattivo)
OPENCLAW_INSTALL_METHOD=git OPENCLAW_NO_PROMPT=1 \
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
install-cli.sh (JSON)
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
install.ps1 (salta l'onboarding)
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
Risoluzione dei problemi
Perché Git è richiesto?
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.
Perché npm restituisce EACCES su 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).
Problemi sharp/libvips
Gli script impostano per impostazione predefinita SHARP_IGNORE_GLOBAL_LIBVIPS=1 per evitare che sharp venga compilato contro libvips di sistema. Per sovrascrivere:
SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
Windows: "npm error spawn git / ENOENT"
Installa Git for Windows, riapri PowerShell, riesegui l'installer.
Windows: "openclaw is not recognized"
Esegui npm config get prefix e aggiungi quella directory al tuo PATH utente (nessun suffisso \bin necessario su Windows), poi riapri PowerShell.
Windows: come ottenere output dettagliato dall'installer
install.ps1 al momento non espone uno switch -Verbose.
Usa il tracing PowerShell per la diagnostica a livello di script:
Set-PSDebug -Trace 1
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
Set-PSDebug -Trace 0
openclaw non trovato dopo l'installazione
Di solito è un problema di PATH. Vedi risoluzione dei problemi Node.js.