Maintenance
Aggiornamento
Mantieni OpenClaw aggiornato.
Consigliato: openclaw update
Il modo più rapido per aggiornare. Rileva il tipo di installazione (npm o git), recupera la versione più recente, esegue openclaw doctor e riavvia il Gateway.
openclaw updatePer cambiare canale o puntare a una versione specifica:
openclaw update --channel betaopenclaw update --channel devopenclaw update --dry-run # preview without applyingopenclaw update non accetta --verbose. Per la diagnostica dell'aggiornamento, usa --dry-run per visualizzare in anteprima le azioni pianificate, --json per risultati strutturati oppure openclaw update status --json per ispezionare lo stato del canale e della disponibilità. L'installer ha il proprio flag --verbose, ma quel flag non fa parte di openclaw update.
--channel beta preferisce beta, ma il runtime ripiega su stable/latest quando il tag beta manca o è precedente all'ultima release stabile. Usa --tag beta se vuoi il dist-tag beta npm grezzo per un aggiornamento di pacchetto una tantum.
Usa --channel dev per un checkout GitHub main mobile e persistente. Per gli aggiornamenti dei pacchetti, --tag main viene mappato a github:openclaw/openclaw#main per una sola esecuzione, e le specifiche sorgente GitHub/git vengono impacchettate in un tarball temporaneo prima dell'installazione npm staged.
Per i Plugin gestiti, il fallback del canale beta è un avviso: l'aggiornamento core può comunque riuscire mentre un Plugin usa la sua release predefinita/latest registrata perché non è disponibile alcuna beta del Plugin.
Vedi Canali di sviluppo per la semantica dei canali.
Passare tra installazioni npm e git
Usa i canali quando vuoi cambiare il tipo di installazione. L'updater mantiene stato, configurazione, credenziali e workspace in ~/.openclaw; cambia solo quale installazione del codice OpenClaw usano la CLI e il Gateway.
# npm package install -> editable git checkoutopenclaw update --channel dev # git checkout -> npm package installopenclaw update --channel stableEsegui prima con --dry-run per visualizzare in anteprima il cambio esatto della modalità di installazione:
openclaw update --channel dev --dry-runopenclaw update --channel stable --dry-runIl canale dev assicura un checkout git, lo compila e installa la CLI globale da quel checkout. I canali stable e beta usano installazioni da pacchetto. Se il Gateway è già installato, openclaw update aggiorna i metadati del servizio e lo riavvia, a meno che tu non passi --no-restart.
Per installazioni da pacchetto con un servizio Gateway gestito, openclaw update punta alla radice del pacchetto usata da quel servizio. Se il comando shell openclaw proviene da un'installazione diversa, l'updater stampa entrambe le radici e il percorso Node del servizio gestito. L'aggiornamento del pacchetto usa il package manager proprietario della radice del servizio e verifica il Node del servizio gestito rispetto al motore della release di destinazione prima di sostituire il pacchetto.
Alternativa: rieseguire l'installer
curl -fsSL https://openclaw.ai/install.sh | bashAggiungi --no-onboard per saltare l'onboarding. Per forzare un tipo di installazione specifico tramite l'installer, passa --install-method git --no-onboard o --install-method npm --no-onboard.
Se openclaw update fallisce dopo la fase di installazione del pacchetto npm, riesegui l'installer. L'installer non chiama il vecchio updater; esegue direttamente l'installazione del pacchetto globale e può ripristinare un'installazione npm parzialmente aggiornata.
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npmPer fissare il ripristino a una versione o a un dist-tag specifico, aggiungi --version:
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version <version-or-dist-tag>Alternativa: npm, pnpm o bun manuale
npm i -g openclaw@latestPreferisci openclaw update per installazioni supervisionate perché può coordinare lo scambio del pacchetto con il servizio Gateway in esecuzione. Se aggiorni manualmente un'installazione supervisionata, arresta il Gateway gestito prima che il package manager parta. I package manager sostituiscono i file sul posto, e un Gateway in esecuzione potrebbe altrimenti provare a caricare file core o Plugin mentre l'albero dei pacchetti è temporaneamente sostituito solo a metà. Riavvia il Gateway dopo che il package manager ha terminato, così il servizio rileva la nuova installazione.
Per un'installazione globale di sistema Linux di proprietà root, se openclaw update fallisce con EACCES e recuperi con npm di sistema, mantieni il Gateway arrestato durante la sostituzione manuale del pacchetto. Usa gli stessi flag di profilo openclaw o lo stesso ambiente che usi normalmente per quel Gateway. Sostituisci /usr/bin/npm con l'npm di sistema che possiede il prefisso globale di proprietà root sul tuo host:
openclaw gateway stopsudo /usr/bin/npm i -g openclaw@latestopenclaw gateway install --forceopenclaw gateway restartPoi verifica il servizio:
openclaw --versioncurl -fsS http://127.0.0.1:18789/readyzopenclaw plugins list --jsonopenclaw gateway status --deep --jsonopenclaw doctor --lint --jsonQuando openclaw update gestisce un'installazione npm globale, installa prima la destinazione in un prefisso npm temporaneo, verifica l'inventario dist del pacchetto e poi scambia l'albero dei pacchetti pulito nel prefisso globale reale. Questo evita che npm sovrapponga un nuovo pacchetto a file obsoleti del vecchio pacchetto. Se il comando di installazione fallisce, OpenClaw riprova una volta con --omit=optional. Quel tentativo aiuta gli host in cui le dipendenze opzionali native non possono essere compilate, mantenendo visibile l'errore originale se anche il fallback fallisce.
I comandi di aggiornamento npm e di aggiornamento Plugin gestiti da OpenClaw cancellano anche la quarantena npm min-release-age per il processo npm figlio. npm può riportare quella policy come soglia derivata before; entrambe sono utili per policy generali di quarantena della supply chain, ma un aggiornamento OpenClaw esplicito significa "installa ora la release OpenClaw selezionata."
pnpm add -g openclaw@latestbun add -g openclaw@latestArgomenti avanzati sull'installazione npm
Read-only package tree
OpenClaw tratta le installazioni globali pacchettizzate come di sola lettura a runtime, anche quando la directory globale del pacchetto è scrivibile dall'utente corrente. Le installazioni dei pacchetti Plugin risiedono in radici npm/git di proprietà OpenClaw sotto la directory di configurazione dell'utente, e l'avvio del Gateway non modifica l'albero dei pacchetti OpenClaw.
Alcune configurazioni npm Linux installano i pacchetti globali sotto directory di proprietà root, come /usr/lib/node_modules/openclaw. OpenClaw supporta questo layout perché i comandi di installazione/aggiornamento dei Plugin scrivono fuori da quella directory globale del pacchetto.
Hardened systemd units
Concedi a OpenClaw accesso in scrittura alle sue radici di configurazione/stato, così le installazioni esplicite dei Plugin, gli aggiornamenti dei Plugin e la pulizia di doctor possono rendere persistenti le loro modifiche:
ReadWritePaths=/var/lib/openclaw /home/openclaw/.openclaw /tmpDisk-space preflight
Prima degli aggiornamenti dei pacchetti e delle installazioni esplicite dei Plugin, OpenClaw prova a eseguire un controllo best-effort dello spazio su disco per il volume di destinazione. Lo spazio insufficiente produce un avviso con il percorso controllato, ma non blocca l'aggiornamento perché quote del filesystem, snapshot e volumi di rete possono cambiare dopo il controllo. L'installazione effettiva tramite package manager e la verifica post-installazione restano autorevoli.
Aggiornamento automatico
L'aggiornamento automatico è disattivato per impostazione predefinita. Abilitalo in ~/.openclaw/openclaw.json:
{ update: { channel: "stable", auto: { enabled: true, stableDelayHours: 6, stableJitterHours: 12, betaCheckIntervalHours: 1, }, },}| Canale | Comportamento |
|---|---|
stable |
Attende stableDelayHours, poi applica con jitter deterministico su stableJitterHours (rollout distribuito). |
beta |
Controlla ogni betaCheckIntervalHours (predefinito: ogni ora) e applica immediatamente. |
dev |
Nessuna applicazione automatica. Usa manualmente openclaw update. |
Il Gateway registra anche un suggerimento di aggiornamento all'avvio (disabilitalo con update.checkOnStart: false).
Per downgrade o ripristino da incidente, imposta OPENCLAW_NO_AUTO_UPDATE=1 nell'ambiente del Gateway per bloccare le applicazioni automatiche anche quando update.auto.enabled è configurato. I suggerimenti di aggiornamento all'avvio possono comunque essere eseguiti, a meno che anche update.checkOnStart non sia disabilitato.
Gli aggiornamenti del package manager richiesti tramite l'handler live del control plane Gateway non sostituiscono l'albero dei pacchetti dentro il processo Gateway in esecuzione. Nelle installazioni con servizio gestito, il Gateway avvia un handoff separato, esce e lascia che il normale percorso CLI openclaw update --yes --json arresti il servizio, sostituisca il pacchetto, aggiorni i metadati del servizio, riavvii, verifichi la versione e la raggiungibilità del Gateway e recuperi un LaunchAgent macOS installato ma non caricato quando possibile. Se il Gateway non può effettuare quell'handoff in modo sicuro, update.run riporta un comando shell sicuro invece di eseguire il package manager nel processo.
Dopo l'aggiornamento
Esegui doctor
openclaw doctorMigra la configurazione, verifica le policy DM e controlla la salute del Gateway. Dettagli: Doctor
Riavvia il Gateway
openclaw gateway restartVerifica
openclaw healthRollback
Fissare una versione (npm)
npm i -g openclaw@<version>openclaw doctoropenclaw gateway restartFissare un commit (sorgente)
git fetch origingit checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"pnpm install && pnpm buildopenclaw gateway restartPer tornare all'ultima versione: git checkout main && git pull.
Se sei bloccato
- Esegui di nuovo
openclaw doctore leggi attentamente l'output. - Per
openclaw update --channel devsu checkout sorgente, l'updater inizializza automaticamentepnpmquando necessario. Se vedi un errore di bootstrap pnpm/corepack, installapnpmmanualmente (o riabilitacorepack) e riesegui l'aggiornamento. - Controlla: Risoluzione dei problemi
- Chiedi su Discord: https://discord.gg/clawd
Correlati
- Panoramica dell'installazione: tutti i metodi di installazione.
- Doctor: controlli di salute dopo gli aggiornamenti.
- Migrazione: guide alla migrazione delle versioni principali.