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
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
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-interactiveen 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
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bashSkip onboarding
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboardGit install
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method gitGitHub main checkout
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version mainDry run
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-runFlags 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
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bashCustom prefix + version
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latestGit install
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --install-method git --git-dir ~/openclawAutomation JSON output
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclawRun onboarding
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboardFlags 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-Tagseleccionado, iniciada desde un directorio temporal de instalación con permisos de escritura para que los shells abiertos en carpetas protegidas comoC:\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-gity 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-interactiveen 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
iwr -useb https://openclaw.ai/install.ps1 | iexInstalación con git
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod gitCheckout de main en GitHub
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -Tag mainDirectorio git personalizado
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw"Ejecución de prueba
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRunTraza de depuración
# install.ps1 has no dedicated -Verbose flag yet.Set-PSDebug -Trace 1& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSet-PSDebug -Trace 0Referencia 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)
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboardinstall.sh (git no interactivo)
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 (omitir configuración inicial)
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSolució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:
Set-PSDebug -Trace 1& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboardSet-PSDebug -Trace 0openclaw no se encuentra después de la instalación
Suele ser un problema de PATH. Consulta solución de problemas de Node.js.