Aspectos internos del instalador
OpenClaw incluye tres scripts de instalación, disponibles desde openclaw.ai.
| Script | Plataforma | Lo que hace |
|---|---|---|
install.sh | macOS / Linux / WSL | Instala Node si es necesario, instala OpenClaw a través de npm (por defecto) 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 git checkout. No se requieren privilegios de root. |
install.ps1 | Windows (PowerShell) | Instala Node si es necesario, instala OpenClaw a través de npm (por defecto) o git, y puede ejecutar la incorporación. |
Comandos rápidos
Sección titulada «Comandos rápidos»curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bashcurl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --helpcurl -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 -- --helpiwr -useb https://openclaw.ai/install.ps1 | iex& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag beta -NoOnboard -DryRuninstall.sh
Sección titulada «install.sh»Flujo (install.sh)
Sección titulada «Flujo (install.sh)»Detectar sistema operativo
Soporta macOS y Linux (incluyendo WSL). Si se detecta macOS, instala Homebrew si falta.
Asegurar Node.js 24 por defecto
Verifica 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). OpenClaw todavía admite Node 22 LTS, actualmente
22.19+, por compatibilidad.Asegurar Git
Instala Git si falta.
Instalar OpenClaw
- Método
npm(predeterminado): instalación global de npm - Método
git: clonar/actualizar repositorio, instalar dependencias con pnpm, compilar y luego instalar el contenedor en~/.local/bin/openclaw
- Método
Tareas posteriores a la instalación
- Actualiza un servicio de puerta de enlace cargado como mejor esfuerzo (
openclaw gateway install --force, luego reiniciar) - Ejecuta
openclaw doctor --non-interactiveen actualizaciones e instalaciones de git (mejor esfuerzo) - Intenta la incorporación cuando sea apropiado (TTY disponible, incorporación no deshabilitada y las verificaciones de bootstrap/config pasan)
- Establece
SHARP_IGNORE_GLOBAL_LIBVIPS=1de forma predeterminada
- Actualiza un servicio de puerta de enlace cargado como mejor esfuerzo (
Detección de checkout de código fuente
Sección titulada «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 ha establecido ningún método de instalación, el valor predeterminado es npm y advierte.
El script termina con el código 2 por una selección de método no válida o valores de --install-method no válidos.
Ejemplos (install.sh)
Sección titulada «Ejemplos (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 -- --no-onboard
bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git
bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --version main
bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-run
Referencia de banderas
| Bandera | Descripción |
|---|---|
--install-method npm|git | Elegir método de instalación (predeterminado: npm). Alias: --method |
--npm | Acceso directo para el método npm |
--git | Acceso directo para el método git. Alias: --github |
| `—version |
| versión de npm, etiqueta de distribución o especificación de paquete (predeterminado:latest) | | —beta | Usar la etiqueta de distribución beta si está disponible, de lo contrario recurrir alatest | |—git-dir
| Directorio de checkout (predeterminado:~/openclaw). Alias: —dir | |—no-git-update | Omitirgit pullpara el checkout existente | |—no-prompt | Desactivar indicaciones | |—no-onboard | Omitir incorporación | |—onboard | Activar incorporación | |—dry-run | Imprimir acciones sin aplicar cambios | |—verbose | Activar salida de depuración (set -x, registros de nivel de aviso de npm) | | —help | Mostrar uso (-h`) |
Referencia de variables de entorno
| Variable | Descripción |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm | Método de instalación |
| `OPENCLAW_VERSION=latest|next|main| |
|
| versión de npm, dist-tag o especificación de paquete | |OPENCLAW_BETA=0|1 | Usar beta si está disponible | |OPENCLAW_GIT_DIR=
| Directorio de checkout | |OPENCLAW_GIT_UPDATE=0|1 | Alternar actualizaciones de git | |OPENCLAW_NO_PROMPT=1 | Desactivar promps | |OPENCLAW_NO_ONBOARD=1 | Saltar onboarding | |OPENCLAW_DRY_RUN=1 | Modo de ejecución en seco | |OPENCLAW_VERBOSE=1 | Modo de depuración | |OPENCLAW_NPM_LOGLEVEL=error|warn|notice | nivel de registro de npm | |SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 | Controlar el comportamiento de sharp/libvips (predeterminado:1`) |
install-cli.sh
Sección titulada «install-cli.sh»Flujo (install-cli.sh)
Sección titulada «Flujo (install-cli.sh)»Instalar tiempo de ejecución local de Node
Descarga un tarball fijado de una versión LTS de Node compatible (la versión está incrustada en el script y se actualiza de forma independiente) hacia `
/tools/node-v
` y verifica SHA-256.
Asegurar Git
Si falta Git, intenta la instalación mediante apt/dnf/yum en Linux o Homebrew en macOS.
Instalar OpenClaw bajo el prefijo
- Método
npm(predeterminado): instala bajo el prefijo con npm, luego escribe el contenedor en `
/bin/openclaw
- Métodogit: clona/actualiza una copia de trabajo (predeterminado~/openclaw) y aún escribe el contenedor en/bin/openclaw`
- Método
Actualizar servicio de gateway cargado
Si ya se ha cargado un servicio de gateway desde el mismo prefijo, el script ejecuta
openclaw gateway install --force, luegoopenclaw gateway restart, y verifica el estado de salud del gateway con el mayor esfuerzo posible.
Ejemplos (install-cli.sh)
Sección titulada «Ejemplos (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 -- --prefix /opt/openclaw --version latest
bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --install-method git --git-dir ~/openclaw
bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboard
Referencia de banderas
| Bandera | Descripción |
|---|---|
| `—prefix |
| 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
| Directorio de checkout de Git (predeterminado:~/openclaw). Alias: —dir | |—version
| Versión o etiqueta de distribución de OpenClaw (predeterminado:latest) | | —node-version
| Versión de Node (predeterminado:22.22.0) | | —json | Emitir eventos NDJSON | |—onboard | Ejecutaropenclaw onboarddespués de la instalación | |—no-onboard | Saltar onboarding (predeterminado) | |—set-npm-prefix | En Linux, forzar el prefijo de npm a~/.npm-globalsi el prefijo actual no tiene permisos de escritura | |—help | Mostrar uso (-h`) |
Referencia de variables de entorno
| Variable | Descripción |
|---|---|
| `OPENCLAW_PREFIX= |
| Prefijo de instalación | |OPENCLAW_INSTALL_METHOD=git|npm | Método de instalación | |OPENCLAW_VERSION=
| Versión de OpenClaw o etiqueta de distribución | |OPENCLAW_NODE_VERSION=
| Versión de Node | |OPENCLAW_GIT_DIR=
| Directorio de checkout de Git para instalaciones de git | |OPENCLAW_GIT_UPDATE=0|1 | Alternar actualizaciones de git para checkouts existentes | |OPENCLAW_NO_ONBOARD=1 | Saltar onboarding | |OPENCLAW_NPM_LOGLEVEL=error|warn|notice| Nivel de registro de npm | |SHARP_IGNORE_GLOBAL_LIBVIPS=0|1 | Controlar el comportamiento de sharp/libvips (predeterminado:1`) |
install.ps1
Sección titulada «install.ps1»Flujo (install.ps1)
Sección titulada «Flujo (install.ps1)»Asegurar entorno de PowerShell + Windows
Requiere PowerShell 5+.
Asegurar Node.js 24 por defecto
Si falta, intenta la instalación mediante winget, luego Chocolatey y luego Scoop. Node 22 LTS, actualmente
22.19+, sigue siendo compatible para compatibilidad.Instalar OpenClaw
- Método
npm(predeterminado): instalación global de npm usando el-Tagseleccionado, iniciado 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: clonar/actualizar repositorio, instalar/construir con pnpm, e instalar el contenedor en%USERPROFILE%\.local\bin\openclaw.cmd
- Método
Tareas posteriores a la instalación
- Agrega el directorio bin necesario al PATH del usuario cuando es posible
- Actualiza un servicio de puerta de enlace cargado con el mejor esfuerzo posible (
openclaw gateway install --force, luego reiniciar) - Ejecuta
openclaw doctor --non-interactiveen actualizaciones e instalaciones de git (mejor esfuerzo posible)
Manejo de fallos
Las instalaciones de
iwr ... | iexy de bloques de scripts informan de un error de terminación sin cerrar la sesión actual de PowerShell. Las instalaciones directas depowershell -File/pwsh -Fileaún salen con un código distinto de cero para la automatización.
Ejemplos (install.ps1)
Sección titulada «Ejemplos (install.ps1)»powershell iwr -useb https://openclaw.ai/install.ps1 | iex
powershell & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git
powershell & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag main
powershell & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw"
powershell & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRun
powershell # 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
Referencia de marcas
| Marca | Descripción |
|---|---|
-InstallMethod npm|git | Método de instalación (predeterminado: npm) |
| `-Tag |
| dist-tag, versión o especificación de paquete de npm (predeterminado:latest) | | -GitDir
| Directorio de checkout (predeterminado:%USERPROFILE%\openclaw) | | -NoOnboard | Omitir integración | |-NoGitUpdate | Omitirgit pull | |-DryRun` | Imprimir solo acciones |
Referencia de variables de entorno
| Variable | Descripción |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm | Método de instalación |
| `OPENCLAW_GIT_DIR= |
| Directorio de checkout | |OPENCLAW_NO_ONBOARD=1 | Saltar onboarding | |OPENCLAW_GIT_UPDATE=0 | Desactivar git pull | |OPENCLAW_DRY_RUN=1` | Modo de prueba |
CI y automatización
Sección titulada «CI y automatización»Use opciones/variables de entorno no interactivas para ejecuciones predecibles.
bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboard
bash OPENCLAW_INSTALL_METHOD=git OPENCLAW_NO_PROMPT=1 \ curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
powershell & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
Solución de problemas
Sección titulada «Solución de problemas»¿Por qué se requiere Git?
Git es necesario para el método de instalación git. Para instalaciones npm, Git aún se comprueba/instala para evitar fallos de spawn git ENOENT cuando las dependencias usan URLs 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 añadir exportaciones de PATH a los archivos rc de la shell (cuando esos archivos existen).
Problemas de sharp/libvips
Los scripts establecen por defecto SHARP_IGNORE_GLOBAL_LIBVIPS=1 para evitar que sharp se compile contra libvips del sistema. Para anularlo:
SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bashWindows: "npm error spawn git / ENOENT"
Instala Git para Windows, vuelve a abrir PowerShell, vuelve a ejecutar el instalador.
Windows: "openclaw no se reconoce"
Ejecute npm config get prefix y añada ese directorio a su PATH de usuario (no se necesita el sufijo \bin en Windows), luego vuelva a abrir PowerShell.
Windows: cómo obtener una salida detallada del instalador
install.ps1 actualmente no expone un interruptor -Verbose.
Use el rastreo 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 encontrado después de la instalación
Generalmente es un problema de PATH. Consulte Solución de problemas de Node.js.