Install overview
Detalhes internos do instalador
OpenClaw inclui três scripts de instalação, servidos a partir de openclaw.ai.
| Script | Plataforma | O que ele faz |
|---|---|---|
install.sh |
macOS / Linux / WSL | Instala Node se necessário, instala OpenClaw via npm (padrão) ou git, e pode executar o onboarding. |
install-cli.sh |
macOS / Linux / WSL | Instala Node + OpenClaw em um prefixo local (~/.openclaw) com modos npm ou checkout git. Não requer root. |
install.ps1 |
Windows (PowerShell) | Instala Node se necessário, instala OpenClaw via npm (padrão) ou git, e pode executar o onboarding. |
Comandos rápidos
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
Fluxo (install.sh)
Detectar SO
Compatível com macOS e Linux (incluindo WSL).
Garantir Node.js 24 por padrão
Verifica a versão do Node e instala Node 24 se necessário (Homebrew no macOS, scripts de configuração do NodeSource no Linux apt/dnf/yum). No macOS, o Homebrew é instalado somente quando o instalador precisa dele para Node ou Git. OpenClaw ainda oferece suporte ao Node 22 LTS, atualmente 22.19+, para compatibilidade.
No Alpine/musl Linux, o instalador usa pacotes apk em vez de NodeSource; os repositórios Alpine configurados devem fornecer Node 22.19+ (Alpine 3.21 ou mais recente no momento da escrita).
Garantir Git
Instala Git se estiver ausente usando o gerenciador de pacotes detectado, incluindo Homebrew no macOS e apk no Alpine.
Instalar OpenClaw
- método
npm(padrão): instalação global com npm - método
git: clona/atualiza o repositório, instala dependências com pnpm, compila e então instala o wrapper em~/.local/bin/openclaw
Tarefas pós-instalação
- Atualiza um serviço gateway carregado em modo melhor esforço (
openclaw gateway install --force, depois reinicia) - Executa
openclaw doctor --non-interactiveem upgrades e instalações git (melhor esforço) - Tenta onboarding quando apropriado (TTY disponível, onboarding não desativado, e verificações de bootstrap/config passam)
Detecção de checkout do código-fonte
Se executado dentro de um checkout do OpenClaw (package.json + pnpm-workspace.yaml), o script oferece:
- usar checkout (
git), ou - usar instalação global (
npm)
Se nenhum TTY estiver disponível e nenhum método de instalação estiver definido, o padrão será npm e um aviso será exibido.
O script sai com código 2 para seleção de método inválida ou valores de --install-method inválidos.
Exemplos (install.sh)
Padrão
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bashPular onboarding
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboardInstalação git
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method gitCheckout do main no GitHub
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version mainExecução de teste
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-runReferência de flags
| Flag | Descrição |
|---|---|
--install-method npm|git |
Escolhe o método de instalação (padrão: npm). Alias: --method |
--npm |
Atalho para o método npm |
--git |
Atalho para o método git. Alias: --github |
--version <version|dist-tag|spec> |
Versão npm, dist-tag ou especificação do pacote (padrão: latest) |
--beta |
Usa a dist-tag beta se disponível; caso contrário, fallback para latest |
--git-dir <path> |
Diretório do checkout (padrão: ~/openclaw). Alias: --dir |
--no-git-update |
Pula git pull para checkout existente |
--no-prompt |
Desativa prompts |
--no-onboard |
Pula onboarding |
--onboard |
Ativa onboarding |
--dry-run |
Imprime ações sem aplicar alterações |
--verbose |
Ativa saída de depuração (set -x, logs npm no nível notice) |
--help |
Mostra o uso (-h) |
Referência de variáveis de ambiente
| Variável | Descrição |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm |
Método de instalação |
OPENCLAW_VERSION=latest|next|<semver>|<spec> |
Versão npm, dist-tag ou especificação do pacote |
OPENCLAW_BETA=0|1 |
Usa beta se disponível |
OPENCLAW_HOME=<path> |
Diretório base para estado do OpenClaw e caminhos git/onboarding padrão |
OPENCLAW_GIT_DIR=<path> |
Diretório do checkout |
OPENCLAW_GIT_UPDATE=0|1 |
Alterna atualizações git |
OPENCLAW_NO_PROMPT=1 |
Desativa prompts |
OPENCLAW_NO_ONBOARD=1 |
Pula onboarding |
OPENCLAW_DRY_RUN=1 |
Modo de execução de teste |
OPENCLAW_VERBOSE=1 |
Modo de depuração |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
Nível de log do npm |
install-cli.sh
Fluxo (install-cli.sh)
Instalar runtime Node local
Baixa um tarball Node LTS compatível fixado (a versão é incorporada no script e atualizada independentemente) para <prefix>/tools/node-v<version> e verifica SHA-256.
No Alpine/musl Linux, onde Node não publica tarballs compatíveis para o runtime fixado, instala nodejs e npm com apk e vincula esse runtime ao caminho do wrapper no prefixo. Os repositórios Alpine devem fornecer Node 22.19+; use Alpine 3.21 ou mais recente se repositórios mais antigos fornecerem apenas Node 20 ou 21.
Garantir Git
Se Git estiver ausente, tenta instalar via apt/dnf/yum/apk no Linux ou Homebrew no macOS.
Instalar OpenClaw sob o prefixo
- método
npm(padrão): instala sob o prefixo com npm, depois grava o wrapper em<prefix>/bin/openclaw - método
git: clona/atualiza um checkout (padrão~/openclaw) e ainda grava o wrapper em<prefix>/bin/openclaw
Atualizar serviço gateway carregado
Se um serviço gateway já estiver carregado a partir desse mesmo prefixo, o script executa
openclaw gateway install --force, depois openclaw gateway restart, e
testa a integridade do gateway em modo melhor esforço.
Exemplos (install-cli.sh)
Padrão
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bashPrefixo personalizado + versão
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latestInstalação git
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --install-method git --git-dir ~/openclawSaída JSON para automação
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclawExecutar onboarding
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboardReferência de flags
| Flag | Descrição |
|---|---|
--prefix <path> |
Prefixo de instalação (padrão: ~/.openclaw) |
--install-method npm|git |
Escolhe o método de instalação (padrão: npm). Apelido: --method |
--npm |
Atalho para o método npm |
--git, --github |
Atalho para o método git |
--git-dir <path> |
Diretório de checkout do Git (padrão: ~/openclaw). Apelido: --dir |
--version <ver> |
Versão ou dist-tag do OpenClaw (padrão: latest) |
--node-version <ver> |
Versão do Node (padrão: 22.22.0) |
--json |
Emite eventos NDJSON |
--onboard |
Executa openclaw onboard após a instalação |
--no-onboard |
Ignora a integração inicial (padrão) |
--set-npm-prefix |
No Linux, força o prefixo npm para ~/.npm-global se o prefixo atual não for gravável |
--help |
Mostra o uso (-h) |
Environment variables reference
| Variável | Descrição |
|---|---|
OPENCLAW_PREFIX=<path> |
Prefixo de instalação |
OPENCLAW_INSTALL_METHOD=git|npm |
Método de instalação |
OPENCLAW_VERSION=<ver> |
Versão ou dist-tag do OpenClaw |
OPENCLAW_NODE_VERSION=<ver> |
Versão do Node |
OPENCLAW_HOME=<path> |
Diretório base para o estado do OpenClaw e caminhos padrão de git/integração inicial |
OPENCLAW_GIT_DIR=<path> |
Diretório de checkout do Git para instalações via git |
OPENCLAW_GIT_UPDATE=0|1 |
Alterna atualizações do git para checkouts existentes |
OPENCLAW_NO_ONBOARD=1 |
Ignora a integração inicial |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
Nível de log do npm |
install.ps1
Fluxo (install.ps1)
Ensure PowerShell + Windows environment
Requer PowerShell 5+.
Ensure Node.js 24 by default
Se estiver ausente, tenta instalar via winget, depois Chocolatey e depois Scoop. Se nenhum gerenciador de pacotes estiver disponível, o script baixa o zip oficial do Node.js para Windows em %LOCALAPPDATA%\OpenClaw\deps\portable-node e o adiciona ao PATH do processo atual e do usuário. O Node 22 LTS, atualmente 22.19+, continua compatível.
Install OpenClaw
- Método
npm(padrão): instalação global do npm usando o-Tagselecionado, iniciada a partir de um diretório temporário gravável do instalador para que shells abertos em pastas protegidas, comoC:\, ainda funcionem - Método
git: clona/atualiza o repositório, instala/compila com pnpm e instala o wrapper em%USERPROFILE%\.local\bin\openclaw.cmd. Se o Git estiver ausente, o script inicializa um MinGit local do usuário em%LOCALAPPDATA%\OpenClaw\deps\portable-gite o adiciona ao PATH do processo atual e do usuário.
Post-install tasks
- Adiciona o diretório bin necessário ao PATH do usuário quando possível
- Atualiza um serviço Gateway carregado em modo de melhor esforço (
openclaw gateway install --force, depois reinicia) - Executa
openclaw doctor --non-interactiveem atualizações e instalações via git (melhor esforço)
Handle failures
Instalações com iwr ... | iex e scriptblock relatam um erro terminativo sem fechar a sessão atual do PowerShell. Instalações diretas com powershell -File / pwsh -File ainda saem com código diferente de zero para automação.
Exemplos (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 | Descrição |
|---|---|
-InstallMethod npm|git |
Método de instalação (padrão: npm) |
-Tag <tag|version|spec> |
dist-tag, versão ou especificação de pacote npm (padrão: latest) |
-GitDir <path> |
Diretório de checkout (padrão: %USERPROFILE%\openclaw) |
-NoOnboard |
Ignora a integração inicial |
-NoGitUpdate |
Ignora git pull |
-DryRun |
Imprime apenas as ações |
Environment variables reference
| Variável | Descrição |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm |
Método de instalação |
OPENCLAW_GIT_DIR=<path> |
Diretório de checkout |
OPENCLAW_NO_ONBOARD=1 |
Ignora a integração inicial |
OPENCLAW_GIT_UPDATE=0 |
Desativa git pull |
OPENCLAW_DRY_RUN=1 |
Modo dry run |
CI e automação
Use flags/variáveis de ambiente não interativas para execuções previsíveis.
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))) -NoOnboardSolução de problemas
Why is Git required?
O Git é necessário para o método de instalação git. Para instalações npm, o Git ainda é verificado/instalado para evitar falhas spawn git ENOENT quando dependências usam URLs git.
Why does npm hit EACCES on Linux?
Algumas configurações do Linux apontam o prefixo global do npm para caminhos pertencentes ao root. install.sh pode trocar o prefixo para ~/.npm-global e anexar exportações de PATH aos arquivos rc do shell (quando esses arquivos existem).
Windows: "npm error spawn git / ENOENT"
Execute novamente o instalador para que ele possa inicializar o MinGit local do usuário ou instale o Git for Windows e reabra o PowerShell.
Windows: "openclaw is not recognized"
Execute npm config get prefix e adicione esse diretório ao PATH do usuário (sem necessidade do sufixo \bin no Windows), depois reabra o PowerShell.
Windows: how to get verbose installer output
Atualmente, install.ps1 não expõe um switch -Verbose.
Use o rastreamento do PowerShell para diagnósticos no nível do script:
Set-PSDebug -Trace 1& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSet-PSDebug -Trace 0openclaw not found after install
Geralmente é um problema de PATH. Consulte solução de problemas do Node.js.