Detalhes internos do instalador
O OpenClaw distribui três scripts de instalação, servidos a partir deopenclaw.ai.
| Script | Plataforma | O que faz |
|---|---|---|
install.sh | macOS / Linux / WSL | Instala Node se necessário, instala OpenClaw via npm (padrão) ou git e pode executar 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 onboarding. |
Comandos rápidos
- install.sh
- install-cli.sh
- install.ps1
Se a instalação for concluída com sucesso, mas
openclaw não for encontrado em um novo terminal, consulte solução de problemas do Node.js.install.sh
Fluxo (install.sh)
Detectar o SO
Compatível com macOS e Linux (incluindo WSL). Se detectar macOS, instala Homebrew se estiver ausente.
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 em Linux apt/dnf/yum). O OpenClaw ainda oferece suporte ao Node 22 LTS, atualmente
22.14+, por compatibilidade.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 de gateway já carregado no modo best-effort (
openclaw gateway install --force, depois reinicia) - Executa
openclaw doctor --non-interactiveem upgrades e instalações via git (best effort) - Tenta fazer onboarding quando apropriado (TTY disponível, onboarding não desativado e verificações de bootstrap/configuração aprovadas)
- Define
SHARP_IGNORE_GLOBAL_LIBVIPS=1por padrão
Detecção de checkout de origem
Se for executado dentro de um checkout do OpenClaw (package.json + pnpm-workspace.yaml), o script oferece:
- usar o checkout (
git), ou - usar a instalação global (
npm)
npm por padrão e emite um aviso.
O script sai com código 2 para seleção de método inválida ou valores inválidos de --install-method.
Exemplos (install.sh)
- Padrão
- Pular onboarding
- Instalação via git
- GitHub main via npm
- Simulação
Referência de flags
Referê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 package spec (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 um checkout existente |
--no-prompt | Desativa prompts |
--no-onboard | Pula onboarding |
--onboard | Ativa onboarding |
--dry-run | Mostra as ações sem aplicar mudanças |
--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
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 package spec |
OPENCLAW_BETA=0|1 | Usar beta se disponível |
OPENCLAW_GIT_DIR=<path> | Diretório do checkout |
OPENCLAW_GIT_UPDATE=0|1 | Ativar/desativar atualizações git |
OPENCLAW_NO_PROMPT=1 | Desativar prompts |
OPENCLAW_NO_ONBOARD=1 | Pular onboarding |
OPENCLAW_DRY_RUN=1 | Modo de simulação |
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 do sharp/libvips (padrão: 1) |
install-cli.sh
Projetado para ambientes em que você quer tudo sob um prefixo local
(padrão
~/.openclaw) e sem dependência de Node do sistema. Oferece suporte a instalações
npm por padrão, além de instalações por checkout git no mesmo fluxo de prefixo.Fluxo (install-cli.sh)
Instalar runtime local do Node
Baixa um tarball fixado de uma versão LTS compatível do Node (a versão está embutida no script e é atualizada independentemente) para
<prefix>/tools/node-v<version> e verifica o 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 assim grava o wrapper em<prefix>/bin/openclaw
Exemplos (install-cli.sh)
- Padrão
- Prefixo personalizado + versão
- Instalação via git
- Saída JSON para automação
- Executar onboarding
Referência de flags
Referê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). Alias: --method |
--npm | Atalho para o método npm |
--git, --github | Atalho para o método git |
--git-dir <path> | Diretório do checkout git (padrão: ~/openclaw). Alias: --dir |
--version <ver> | Versão do OpenClaw ou dist-tag (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 | Pula onboarding (padrão) |
--set-npm-prefix | No Linux, força o prefixo do npm para ~/.npm-global se o prefixo atual não puder ser gravado |
--help | Mostra o uso (-h) |
Referência de variáveis de ambiente
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 do checkout git para instalações git |
OPENCLAW_GIT_UPDATE=0|1 | Ativa/desativa atualizações git para checkouts existentes |
OPENCLAW_NO_ONBOARD=1 | Pula onboarding |
OPENCLAW_NPM_LOGLEVEL=error|warn|notice | Nível de log do npm |
SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 | Controla o comportamento do sharp/libvips (padrão: 1) |
install.ps1
Fluxo (install.ps1)
Garantir Node.js 24 por padrão
Se estiver ausente, tenta instalar via winget, depois Chocolatey e depois Scoop. O Node 22 LTS, atualmente
22.14+, continua compatível por motivos de compatibilidade.Instalar OpenClaw
- Método
npm(padrão): instalação global com npm usando a-Tagselecionada - Método
git: clona/atualiza o repositório, instala/compila com pnpm e instala o wrapper em%USERPROFILE%\.local\bin\openclaw.cmd
Exemplos (install.ps1)
- Padrão
- Instalação via git
- GitHub main via npm
- Diretório git personalizado
- Simulação
- Rastreamento de depuração
Referência de flags
Referência de flags
| Flag | Descrição |
|---|---|
-InstallMethod npm|git | Método de instalação (padrão: npm) |
-Tag <tag|version|spec> | npm dist-tag, versão ou package spec (padrão: latest) |
-GitDir <path> | Diretório do checkout (padrão: %USERPROFILE%\openclaw) |
-NoOnboard | Pula onboarding |
-NoGitUpdate | Pula git pull |
-DryRun | Apenas mostra as ações |
Referência de variáveis de ambiente
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 do checkout |
OPENCLAW_NO_ONBOARD=1 | Pula onboarding |
OPENCLAW_GIT_UPDATE=0 | Desativa git pull |
OPENCLAW_DRY_RUN=1 | Modo de simulação |
Se
-InstallMethod git for usado e o Git estiver ausente, o script sai e exibe o link do Git for Windows.CI e automação
Use flags/variáveis de ambiente não interativas para execuções previsíveis.- install.sh (npm não interativo)
- install.sh (git não interativo)
- install-cli.sh (JSON)
- install.ps1 (pular onboarding)
Solução de problemas
Por que o Git é necessário?
Por que o Git é necessário?
O Git é necessário para o método de instalação
git. Em 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?
Por que o npm encontra EACCES no Linux?
Algumas configurações Linux apontam o prefixo global do npm para caminhos pertencentes ao root.
install.sh pode mudar o prefixo para ~/.npm-global e acrescentar exportações de PATH aos arquivos rc do shell (quando esses arquivos existem).Problemas com sharp/libvips
Problemas com sharp/libvips
Os scripts definem
SHARP_IGNORE_GLOBAL_LIBVIPS=1 por padrão para evitar que o sharp compile contra o libvips do sistema. Para substituir:Windows: "npm error spawn git / ENOENT"
Windows: "npm error spawn git / ENOENT"
Instale o Git for Windows, reabra o PowerShell e execute novamente o instalador.
Windows: "openclaw is not recognized"
Windows: "openclaw is not recognized"
Execute
npm config get prefix e adicione esse diretório ao PATH do usuário (sem sufixo \bin no Windows), depois reabra o PowerShell.Windows: como obter saída detalhada do instalador
Windows: como obter saída detalhada do instalador
install.ps1 atualmente não expõe uma opção -Verbose.
Use rastreamento do PowerShell para diagnóstico no nível do script:openclaw não encontrado após a instalação
openclaw não encontrado após a instalação
Normalmente é um problema de PATH. Consulte solução de problemas do Node.js.