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-interactive sugli 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 -Tag selezionato, avviata da una directory temporanea di installazione scrivibile in modo che funzionino comunque le shell aperte in cartelle protette come C:\
    • 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-interactive sugli 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.

    Correlati