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

bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --help

install-cli.sh

bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --help

install.ps1

powershell
iwr -useb https://openclaw.ai/install.ps1 | iex
powershell
& ([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).

  • 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-interactive em 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

    bash
    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash

    Pular onboarding

    bash
    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboard

    Instalação git

    bash
    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git

    Checkout do main no GitHub

    bash
    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version main

    Execução de teste

    bash
    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 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

    bash
    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash

    Prefixo personalizado + versão

    bash
    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latest

    Instalação git

    bash
    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

    bash
    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw

    Executar onboarding

    bash
    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 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 -Tag selecionado, iniciada a partir de um diretório temporário gravável do instalador para que shells abertos em pastas protegidas, como C:\, 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-git e 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-interactive em 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

    powershell
    iwr -useb https://openclaw.ai/install.ps1 | iex

    Git install

    powershell
    & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git

    GitHub main checkout

    powershell
    & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -Tag main

    Custom git directory

    powershell
    & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw"

    Dry run

    powershell
    & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRun

    Debug trace

    powershell
    # install.ps1 has no dedicated -Verbose flag yet.Set-PSDebug -Trace 1& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSet-PSDebug -Trace 0
    Flags 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)

    bash
    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboard

    install.sh (non-interactive git)

    bash
    OPENCLAW_INSTALL_METHOD=git OPENCLAW_NO_PROMPT=1 \  curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash

    install-cli.sh (JSON)

    bash
    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw

    install.ps1 (skip onboarding)

    powershell
    & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard

    Soluçã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:

    powershell
    Set-PSDebug -Trace 1& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSet-PSDebug -Trace 0
    openclaw not found after install

    Geralmente é um problema de PATH. Consulte solução de problemas do Node.js.

    Relacionados

    Was this useful?
    On this page

    On this page