Install overview
Detalhes internos do instalador
O OpenClaw fornece três scripts de instalação, servidos por openclaw.ai.
| Script | Plataforma | O que ele faz |
|---|---|---|
install.sh |
macOS / Linux / WSL | Instala o Node se necessário, instala o OpenClaw via npm (padrão) ou git, e pode executar a integração inicial. |
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 o Node se necessário, instala o OpenClaw via npm (padrão) ou git, e pode executar a integração inicial. |
Comandos rápidos
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
Fluxo (install.sh)
Detectar SO
Compatível com macOS e Linux (incluindo WSL). Se o macOS for detectado, instala o Homebrew se estiver ausente.
Garantir Node.js 24 por padrão
Verifica a versão do Node e instala o Node 24 se necessário (Homebrew no macOS, scripts de configuração NodeSource no Linux apt/dnf/yum). O OpenClaw ainda oferece suporte ao Node 22 LTS, atualmente 22.16+, para compatibilidade.
Garantir Git
Instala o Git se estiver ausente.
Instalar OpenClaw
- método
npm(padrão): instalação npm global - 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 na medida do possível (
openclaw gateway install --force, depois reinicia) - Executa
openclaw doctor --non-interactiveem upgrades e instalações git (na medida do possível) - Tenta a integração inicial quando apropriado (TTY disponível, integração inicial não desabilitada e verificações de bootstrap/configuração aprovadas)
- Define
SHARP_IGNORE_GLOBAL_LIBVIPS=1por padrão
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 nenhuma 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 o 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 | bash
Ignorar integração inicial
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboard
Instalação Git
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
Execução de teste
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-run
Referência de flags
| Flag | Descrição |
|---|---|
--install-method npm|git |
Escolha 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 de pacote (padrão: latest) |
--beta |
Use a dist-tag beta se disponível; caso contrário, faça fallback para latest |
--git-dir <path> |
Diretório de checkout (padrão: ~/openclaw). Alias: --dir |
--no-git-update |
Ignora git pull para checkout existente |
--no-prompt |
Desabilita prompts |
--no-onboard |
Ignora a integração inicial |
--onboard |
Habilita a integração inicial |
--dry-run |
Imprime ações sem aplicar alterações |
--verbose |
Habilita saída de depuração (set -x, logs npm em 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|main|<semver>|<spec> |
versão npm, dist-tag ou especificação de pacote |
OPENCLAW_BETA=0|1 |
Usa beta se disponível |
OPENCLAW_GIT_DIR=<path> |
Diretório de checkout |
OPENCLAW_GIT_UPDATE=0|1 |
Alterna atualizações git |
OPENCLAW_NO_PROMPT=1 |
Desabilita prompts |
OPENCLAW_NO_ONBOARD=1 |
Ignora a integração inicial |
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 |
SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 |
Controla o comportamento sharp/libvips (padrão: 1) |
install-cli.sh
Fluxo (install-cli.sh)
Instalar runtime local do Node
Baixa um tarball Node LTS compatível e fixado (a versão é incorporada no script e atualizada de forma independente) para <prefix>/tools/node-v<version> e verifica SHA-256.
Garantir Git
Se o Git estiver ausente, tenta instalar via apt/dnf/yum no Linux ou Homebrew no macOS.
Instalar OpenClaw sob o prefixo
- método
npm(padrão): instala sob o prefixo com npm e então 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
verifica a integridade do Gateway na medida do possível.
Exemplos (install-cli.sh)
Padrão
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
Prefixo personalizado + versão
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latest
Instalação Git
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --install-method git --git-dir ~/openclaw
Saída JSON para automação
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
Executar integração inicial
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboard
Referência de flags
| Flag | Descrição |
|---|---|
--prefix <path> |
Prefixo de instalação (padrão: ~/.openclaw) |
--install-method npm|git |
Escolha o método de instalação (padrão: npm). Alias: --method |
--npm |
Atalho para o método npm |
--git, --github |
Atalho para o método git |
--git-dir <path> |
Diretório de checkout Git (padrão: ~/openclaw). Alias: --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) |
Referência de variáveis de ambiente
| 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 do OpenClaw ou dist-tag |
OPENCLAW_NODE_VERSION=<ver> |
Versão do Node |
OPENCLAW_GIT_DIR=<path> |
Diretório de checkout do Git para instalações via git |
OPENCLAW_GIT_UPDATE=0|1 |
Alternar atualizações do git para checkouts existentes |
OPENCLAW_NO_ONBOARD=1 |
Pular integração inicial |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice |
Nível de log do npm |
SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 |
Controlar o comportamento de sharp/libvips (padrão: 1) |
install.ps1
Fluxo (install.ps1)
Garantir o ambiente PowerShell + Windows
Requer PowerShell 5+.
Garantir Node.js 24 por padrão
Se estiver ausente, tenta instalar via winget, depois Chocolatey e depois Scoop. Node 22 LTS, atualmente 22.16+, continua compatível.
Instalar o OpenClaw
- Método
npm(padrão): instalação global do npm usando a-Tagselecionada, iniciada de um diretório temporário de instalação gravável 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
Tarefas pós-instalação
- Adiciona o diretório bin necessário ao PATH do usuário quando possível
- Atualiza um serviço de 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)
Lidar com falhas
Instalações com iwr ... | iex e scriptblock relatam um erro terminante 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)
Padrão
iwr -useb https://openclaw.ai/install.ps1 | iex
Instalação via Git
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git
main do GitHub via npm
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag main
Diretório git personalizado
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw"
Simulação
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRun
Rastreamento de depuração
# 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
Referência de flags
| 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 do npm (padrão: latest) |
-GitDir <path> |
Diretório de checkout (padrão: %USERPROFILE%\openclaw) |
-NoOnboard |
Pular integração inicial |
-NoGitUpdate |
Pular git pull |
-DryRun |
Apenas imprimir ações |
Referência de variáveis de ambiente
| 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 |
Pular integração inicial |
OPENCLAW_GIT_UPDATE=0 |
Desabilitar git pull |
OPENCLAW_DRY_RUN=1 |
Modo de simulação |
CI e automação
Use flags/variáveis de ambiente não interativas para execuções previsíveis.
install.sh (npm não interativo)
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboard
install.sh (git não interativo)
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 (pular integração inicial)
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
Solução de problemas
Por que o Git é obrigatório?
O Git é obrigató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.
Por que o npm encontra EACCES no 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).
Problemas com sharp/libvips
Os scripts usam SHARP_IGNORE_GLOBAL_LIBVIPS=1 por padrão para evitar que sharp seja compilado contra a libvips do sistema. Para substituir:
SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
Windows: "npm error spawn git / ENOENT"
Instale o Git for Windows, reabra o PowerShell e execute novamente o instalador.
Windows: "openclaw is not recognized"
Execute npm config get prefix e adicione esse diretório ao PATH do usuário (não é necessário o sufixo \bin no Windows), depois reabra o PowerShell.
Windows: como obter saída detalhada do instalador
install.ps1 atualmente não expõe uma opção -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))) -NoOnboard
Set-PSDebug -Trace 0
openclaw não encontrado após a instalação
Geralmente é um problema de PATH. Consulte solução de problemas do Node.js.