Install overview

Componentes internos del instalador

OpenClaw incluye tres scripts de instalación, servidos desde openclaw.ai.

Script Plataforma Qué hace
install.sh macOS / Linux / WSL Instala Node si es necesario, instala OpenClaw mediante npm (predeterminado) o git, y puede ejecutar la incorporación.
install-cli.sh macOS / Linux / WSL Instala Node + OpenClaw en un prefijo local (~/.openclaw) con modos npm o checkout de git. No requiere root.
install.ps1 Windows (PowerShell) Instala Node si es necesario, instala OpenClaw mediante npm (predeterminado) o git, y puede ejecutar la incorporación.

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

Flujo (install.sh)

  • Detect OS

    Compatible con macOS y Linux (incluido WSL).

  • Ensure Node.js 24 by default

    Comprueba la versión de Node e instala Node 24 si es necesario (Homebrew en macOS, scripts de configuración de NodeSource en Linux apt/dnf/yum). En macOS, Homebrew se instala solo cuando el instalador lo necesita para Node o Git. OpenClaw sigue siendo compatible con Node 22 LTS, actualmente 22.19+, por compatibilidad. En Alpine/musl Linux, el instalador usa paquetes apk en lugar de NodeSource; los repositorios Alpine configurados deben proporcionar Node 22.19+ (Alpine 3.21 o posterior en el momento de escribir esto).

  • Ensure Git

    Instala Git si falta usando el gestor de paquetes detectado, incluidos Homebrew en macOS y apk en Alpine.

  • Install OpenClaw

    • Método npm (predeterminado): instalación global de npm
    • Método git: clona/actualiza el repositorio, instala dependencias con pnpm, compila y luego instala el envoltorio en ~/.local/bin/openclaw
  • Post-install tasks

    • Actualiza un servicio Gateway cargado con el mejor esfuerzo (openclaw gateway install --force, luego reinicia)
    • Ejecuta openclaw doctor --non-interactive en actualizaciones e instalaciones de git (mejor esfuerzo)
    • Intenta la incorporación cuando corresponde (TTY disponible, incorporación no deshabilitada y las comprobaciones de bootstrap/configuración pasan)
  • Detección de checkout de código fuente

    Si se ejecuta dentro de un checkout de OpenClaw (package.json + pnpm-workspace.yaml), el script ofrece:

    • usar checkout (git), o
    • usar instalación global (npm)

    Si no hay TTY disponible y no se define ningún método de instalación, el valor predeterminado es npm y muestra una advertencia.

    El script sale con código 2 para una selección de método no válida o valores --install-method no válidos.

    Ejemplos (install.sh)

    Default

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

    Skip onboarding

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

    Git install

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

    GitHub main checkout

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

    Dry run

    bash
    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-run
    Flags reference
    Marca Descripción
    --install-method npm|git Elige el método de instalación (predeterminado: npm). Alias: --method
    --npm Atajo para el método npm
    --git Atajo para el método git. Alias: --github
    --version <version|dist-tag|spec> Versión de npm, dist-tag o especificación de paquete (predeterminado: latest)
    --beta Usa el dist-tag beta si está disponible; si no, recurre a latest
    --git-dir <path> Directorio de checkout (predeterminado: ~/openclaw). Alias: --dir
    --no-git-update Omite git pull para un checkout existente
    --no-prompt Deshabilita los prompts
    --no-onboard Omite la incorporación
    --onboard Habilita la incorporación
    --dry-run Imprime acciones sin aplicar cambios
    --verbose Habilita la salida de depuración (set -x, registros de npm de nivel notice)
    --help Muestra el uso (-h)
    Environment variables reference
    Variable Descripción
    OPENCLAW_INSTALL_METHOD=git|npm Método de instalación
    OPENCLAW_VERSION=latest|next|<semver>|<spec> Versión de npm, dist-tag o especificación de paquete
    OPENCLAW_BETA=0|1 Usa beta si está disponible
    OPENCLAW_HOME=<path> Directorio base para el estado de OpenClaw y rutas predeterminadas de git/incorporación
    OPENCLAW_GIT_DIR=<path> Directorio de checkout
    OPENCLAW_GIT_UPDATE=0|1 Alterna las actualizaciones de git
    OPENCLAW_NO_PROMPT=1 Deshabilita los prompts
    OPENCLAW_NO_ONBOARD=1 Omite la incorporación
    OPENCLAW_DRY_RUN=1 Modo de ejecución de prueba
    OPENCLAW_VERBOSE=1 Modo de depuración
    OPENCLAW_NPM_LOGLEVEL=error|warn|notice Nivel de registro de npm

    install-cli.sh

    Flujo (install-cli.sh)

  • Install local Node runtime

    Descarga un tarball de Node LTS compatible fijado (la versión está incrustada en el script y se actualiza de forma independiente) en <prefix>/tools/node-v<version> y verifica SHA-256. En Alpine/musl Linux, donde Node no publica tarballs compatibles para el runtime fijado, instala nodejs y npm con apk y enlaza ese runtime en la ruta del envoltorio del prefijo. Los repositorios Alpine deben proporcionar Node 22.19+; usa Alpine 3.21 o posterior si los repositorios anteriores solo proporcionan Node 20 o 21.

  • Ensure Git

    Si falta Git, intenta instalarlo mediante apt/dnf/yum/apk en Linux o Homebrew en macOS.

  • Install OpenClaw under prefix

    • Método npm (predeterminado): instala bajo el prefijo con npm y luego escribe el envoltorio en <prefix>/bin/openclaw
    • Método git: clona/actualiza un checkout (predeterminado ~/openclaw) y aun así escribe el envoltorio en <prefix>/bin/openclaw
  • Refresh loaded gateway service

    Si un servicio Gateway ya está cargado desde ese mismo prefijo, el script ejecuta openclaw gateway install --force, luego openclaw gateway restart, y sondea la salud del Gateway con el mejor esfuerzo.

  • Ejemplos (install-cli.sh)

    Default

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

    Custom prefix + version

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

    Git install

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

    Automation JSON output

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

    Run onboarding

    bash
    curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboard
    Flags reference
    Opción Descripción
    --prefix <path> Prefijo de instalación (predeterminado: ~/.openclaw)
    --install-method npm|git Elegir método de instalación (predeterminado: npm). Alias: --method
    --npm Atajo para el método npm
    --git, --github Atajo para el método git
    --git-dir <path> Directorio de checkout de Git (predeterminado: ~/openclaw). Alias: --dir
    --version <ver> Versión de OpenClaw o dist-tag (predeterminado: latest)
    --node-version <ver> Versión de Node (predeterminado: 22.22.0)
    --json Emitir eventos NDJSON
    --onboard Ejecutar openclaw onboard después de la instalación
    --no-onboard Omitir la configuración inicial (predeterminado)
    --set-npm-prefix En Linux, forzar el prefijo npm a ~/.npm-global si el prefijo actual no tiene permisos de escritura
    --help Mostrar uso (-h)
    Referencia de variables de entorno
    Variable Descripción
    OPENCLAW_PREFIX=<path> Prefijo de instalación
    OPENCLAW_INSTALL_METHOD=git|npm Método de instalación
    OPENCLAW_VERSION=<ver> Versión de OpenClaw o dist-tag
    OPENCLAW_NODE_VERSION=<ver> Versión de Node
    OPENCLAW_HOME=<path> Directorio base para el estado de OpenClaw y rutas predeterminadas de git/configuración inicial
    OPENCLAW_GIT_DIR=<path> Directorio de checkout de Git para instalaciones con git
    OPENCLAW_GIT_UPDATE=0|1 Activar o desactivar actualizaciones de git para checkouts existentes
    OPENCLAW_NO_ONBOARD=1 Omitir la configuración inicial
    OPENCLAW_NPM_LOGLEVEL=error|warn|notice Nivel de registro de npm

    install.ps1

    Flujo (install.ps1)

  • Garantizar un entorno de PowerShell + Windows

    Requiere PowerShell 5+.

  • Garantizar Node.js 24 de forma predeterminada

    Si falta, intenta instalarlo mediante winget, luego Chocolatey y luego Scoop. Si no hay ningún gestor de paquetes disponible, el script descarga el zip oficial de Node.js para Windows en %LOCALAPPDATA%\OpenClaw\deps\portable-node y lo agrega al PATH del proceso actual y del usuario. Node 22 LTS, actualmente 22.19+, sigue siendo compatible por compatibilidad.

  • Instalar OpenClaw

    • Método npm (predeterminado): instalación global de npm con el -Tag seleccionado, iniciada desde un directorio temporal de instalación con permisos de escritura para que los shells abiertos en carpetas protegidas como C:\ sigan funcionando
    • Método git: clona/actualiza el repositorio, instala/compila con pnpm e instala el wrapper en %USERPROFILE%\.local\bin\openclaw.cmd. Si falta Git, el script inicializa MinGit local para el usuario en %LOCALAPPDATA%\OpenClaw\deps\portable-git y lo agrega al PATH del proceso actual y del usuario.
  • Tareas posteriores a la instalación

    • Agrega el directorio bin necesario al PATH del usuario cuando sea posible
    • Actualiza un servicio Gateway cargado con el mejor esfuerzo (openclaw gateway install --force, luego reinicia)
    • Ejecuta openclaw doctor --non-interactive en actualizaciones e instalaciones con git (mejor esfuerzo)
  • Gestionar fallos

    Las instalaciones con iwr ... | iex y scriptblock informan un error terminante sin cerrar la sesión actual de PowerShell. Las instalaciones directas con powershell -File / pwsh -File siguen saliendo con un código distinto de cero para automatización.

  • Ejemplos (install.ps1)

    Predeterminado

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

    Instalación con git

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

    Checkout de main en GitHub

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

    Directorio git personalizado

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

    Ejecución de prueba

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

    Traza de depuración

    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
    Referencia de opciones
    Opción Descripción
    -InstallMethod npm|git Método de instalación (predeterminado: npm)
    -Tag <tag|version|spec> dist-tag de npm, versión o especificación de paquete (predeterminado: latest)
    -GitDir <path> Directorio de checkout (predeterminado: %USERPROFILE%\openclaw)
    -NoOnboard Omitir la configuración inicial
    -NoGitUpdate Omitir git pull
    -DryRun Imprimir solo las acciones
    Referencia de variables de entorno
    Variable Descripción
    OPENCLAW_INSTALL_METHOD=git|npm Método de instalación
    OPENCLAW_GIT_DIR=<path> Directorio de checkout
    OPENCLAW_NO_ONBOARD=1 Omitir la configuración inicial
    OPENCLAW_GIT_UPDATE=0 Desactivar git pull
    OPENCLAW_DRY_RUN=1 Modo de ejecución de prueba

    CI y automatización

    Usa opciones/variables de entorno no interactivas para ejecuciones predecibles.

    install.sh (npm no interactivo)

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

    install.sh (git no interactivo)

    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 (omitir configuración inicial)

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

    Solución de problemas

    ¿Por qué se requiere Git?

    Git es necesario para el método de instalación git. Para instalaciones con npm, Git también se comprueba/instala para evitar fallos spawn git ENOENT cuando las dependencias usan URL de git.

    ¿Por qué npm encuentra EACCES en Linux?

    Algunas configuraciones de Linux apuntan el prefijo global de npm a rutas propiedad de root. install.sh puede cambiar el prefijo a ~/.npm-global y agregar exportaciones de PATH a los archivos rc del shell (cuando esos archivos existen).

    Windows: "npm error spawn git / ENOENT"

    Vuelve a ejecutar el instalador para que pueda inicializar MinGit local para el usuario, o instala Git for Windows y vuelve a abrir PowerShell.

    Windows: "openclaw is not recognized"

    Ejecuta npm config get prefix y agrega ese directorio al PATH de tu usuario (en Windows no se necesita el sufijo \bin), luego vuelve a abrir PowerShell.

    Windows: cómo obtener salida detallada del instalador

    install.ps1 actualmente no expone un modificador -Verbose. Usa el seguimiento de PowerShell para diagnósticos a nivel de script:

    powershell
    Set-PSDebug -Trace 1& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSet-PSDebug -Trace 0
    openclaw no se encuentra después de la instalación

    Suele ser un problema de PATH. Consulta solución de problemas de Node.js.

    Relacionado

    Was this useful?
    On this page

    On this page