Aspectos internos del instalador
OpenClaw incluye tres scripts de instalación, servidos 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 permisos 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 SO
Soporta macOS y Linux (incluyendo WSL).
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). En macOS, Homebrew se instala solo cuando el instalador lo necesita para Node o Git. OpenClaw todavía es 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 de Alpine configurados deben proporcionar Node22.19+(Alpine 3.21 o más reciente en el momento de escribir esto).Asegurar Git
Instala Git si falta usando el gestor de paquetes detectado, incluyendo Homebrew en macOS y apk en Alpine.
Instalar OpenClaw
- Método
npm(predeterminado): instalación global npm - Método
git: clonar/actualizar repositorio, instalar dependencias con pnpm, construir, luego instalar contenedor en~/.local/bin/openclaw
- Método
Tareas posteriores a la instalación
- Actualiza el servicio de puerta de enlace cargado lo mejor posible (
openclaw gateway install --force, luego reinicia) - 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 arranque/configuración pasan)
- Actualiza el servicio de puerta de enlace cargado lo mejor posible (
Detección de checkout de código fuente
Sección titulada «Detección de checkout de código fuente»Si se ejecuta dentro de una copia de trabajo de OpenClaw (package.json + pnpm-workspace.yaml), el script ofrece:
- usar la copia de trabajo (
git), o - usar la instalación global (
npm)
Si no hay TTY disponible y no se establece ningún método de instalación, por defecto es npm y avisa.
El script sale 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 -- --install-method git --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 | Elige el 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, dist-tag o especificación de paquete (predeterminado:latest) | | —beta | Usa la dist-tag beta si está disponible, de lo contrario vuelve alatest | |—git-dir
| Directorio de checkout (predeterminado:~/openclaw). Alias: —dir | |—no-git-update | Omitegit pullpara un checkout existente | |—no-prompt | Desactiva las indicaciones | |—no-onboard | Omite la incorporación | |—onboard | Activa la incorporación | |—dry-run | Imprime las acciones sin aplicar cambios | |—verbose | Activa la salida de depuración (set -x, registros de nivel de aviso de npm) | | —help | Muestra el uso (-h`) |
Referencia de variables de entorno
| Variable | Descripción |
|---|---|
OPENCLAW_INSTALL_METHOD=git|npm | Método de instalación |
| `OPENCLAW_VERSION=latest|next| |
|
| versión de npm, dist-tag o especificación de paquete | |OPENCLAW_BETA=0|1 | Usar beta si está disponible | |OPENCLAW_HOME=
| Directorio base para el estado de OpenClaw y las rutas predeterminadas de git/onboarding | |OPENCLAW_GIT_DIR=
| Directorio de checkout | |OPENCLAW_GIT_UPDATE=0|1 | Alternar actualizaciones de git | |OPENCLAW_NO_PROMPT=1 | Desactivar solicitudes | |OPENCLAW_NO_ONBOARD=1 | Saltar onboarding | |OPENCLAW_DRY_RUN=1 | Modo de prueba (dry run) | |OPENCLAW_VERBOSE=1 | Modo de depuración | |OPENCLAW_NPM_LOGLEVEL=error|warn|notice` | nivel de registro de npm |
install-cli.sh
Sección titulada «install-cli.sh»Flujo (install-cli.sh)
Sección titulada «Flujo (install-cli.sh)»Instalar el tiempo de ejecución de Node local
Descarga un tarball fijado de una versión compatible de Node LTS (la versión está incrustada en el script y se actualiza de forma independiente) en `
/tools/node-v
y verifica el SHA-256. En Alpine/musl Linux, donde Node no publica tarballs compatibles para el tiempo de ejecución fijado, instalanodejsynpmconapky enlaza ese tiempo de ejecución en la ruta del contenedor del prefijo. Los repositorios de Alpine deben proporcionar Node22.19+`; usa Alpine 3.21 o más reciente si los repositorios más antiguos solo proporcionan Node 20 o 21.Asegurar Git
Si falta Git, intenta instalarlo mediante apt/dnf/yum/apk 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 (predeterminado~/openclaw) y aún escribe el contenedor en/bin/openclaw`
- método
Actualizar el servicio de puerta de enlace cargado
Si ya se ha cargado un servicio de puerta de enlace desde ese mismo prefijo, el script ejecuta
openclaw gateway install --force, luegoopenclaw gateway restarty verifica el estado de la puerta de enlace con el mejor 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 | Acceso directo para el método npm | |—git, —github | Acceso directo para el método git | |—git-dir
| Directorio de checkout de Git (predeterminado:~/openclaw). Alias: —dir | |—version
| Versión de OpenClaw o dist-tag (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 es escribible | |—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 dist-tag | |OPENCLAW_NODE_VERSION=
| Versión de Node | |OPENCLAW_HOME=
| Directorio base para el estado de OpenClaw y rutas git/onboarding por defecto | |OPENCLAW_GIT_DIR=
| Directorio de checkout de Git para instalaciones 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 log de npm |
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 vía winget, luego Chocolatey, 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-nodey lo añade al PATH del proceso actual y del usuario. Node 22 LTS, actualmente22.19+, sigue siendo soportado por compatibilidad.Instalar OpenClaw
- método
npm(por defecto): instalación global npm usando el-Tagseleccionado, lanzado desde un directorio temporal de instalador escribible para que los shells abiertos en carpetas protegidas comoC:\sigan funcionando - método
git: clonar/actualizar repositorio, instalar/construir con pnpm, e instalar wrapper en%USERPROFILE%\.local\bin\openclaw.cmd. Si falta Git, el script inicia (bootstraps) MinGit local de usuario bajo%LOCALAPPDATA%\OpenClaw\deps\portable-gity lo añade al PATH del proceso actual y del usuario.
- método
Tareas posteriores a la instalación
- Añade el directorio bin necesario al PATH del usuario cuando es posible
- Actualiza un servicio de puerta de enlace cargado de mejor esfuerzo posible (
openclaw gateway install --force, luego reinicia) - 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 reportan un error de terminación sin cerrar la sesión actual de PowerShell. Las instalaciones directas depowershell -File/pwsh -Filetodavía 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))) -InstallMethod git -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 banderas
| Bandera | Descripción |
|---|---|
-InstallMethod npm|git | Método de instalación (predeterminado: npm) |
| `-Tag |
| dist-tag de npm, versión o especificación de paquete (predeterminado:latest) | | -GitDir
| Directorio de checkout (predeterminado:%USERPROFILE%\openclaw) | | -NoOnboard | Saltar onboarding | |-NoGitUpdate | Saltargit 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 ejecución en seco |
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 verifica/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 shell (cuando esos archivos existen).
Windows: "npm error spawn git / ENOENT"
Vuelva a ejecutar el instalador para que pueda realizar el arranque de MinGit local de usuario, o instale Git for Windows y reinicie PowerShell.
Windows: "openclaw is not recognized"
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: how to get verbose installer output
install.ps1 actualmente no expone un modificador -Verbose.
Utilice 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 not found after install
Generalmente es un problema de PATH. Consulte solución de problemas de Node.js.