> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Внутреннее устройство установщика

OpenClaw поставляется с тремя сценариями установки, доступными по адресу `openclaw.ai`.

| Сценарий | Платформа | Что он делает |
| - | - | - |
| [`install.sh`](#installsh) | macOS / Linux / WSL | При необходимости устанавливает Node, устанавливает OpenClaw через npm (по умолчанию) или git, может запустить первоначальную настройку. |
| [`install-cli.sh`](#install-clish) | macOS / Linux / WSL | Устанавливает Node и OpenClaw в локальный префикс (`~/.openclaw`) через npm или git. Права root не требуются. |
| [`install.ps1`](#installps1) | Windows (PowerShell) | При необходимости устанавливает Node, устанавливает OpenClaw через npm (по умолчанию) или git, может запустить первоначальную настройку. |

Все три поддерживают Node **22.22.3+, 24.15+ или 25.9+**; для новых установок по умолчанию используется Node 24.

## Быстрые команды

> [tab] install.sh
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
> ```
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --help
> ```

> [tab] install-cli.sh
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
> ```
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --help
> ```

> [tab] install.ps1
>
> ```powershell theme={"theme":{"light":"min-light","dark":"min-dark"}}
> iwr -useb https://openclaw.ai/install.ps1 | iex
> ```
>
> ```powershell theme={"theme":{"light":"min-light","dark":"min-dark"}}
> & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag beta -NoOnboard -DryRun
> ```

> [!NOTE]
>
> Если установка завершилась успешно, но `openclaw` не удаётся найти в новом терминале, см. раздел [Устранение неполадок Node.js](https://docs2.openclaw.ai/ru/install/node.md#troubleshooting).

***

## install.sh

> [!TIP]
>
> Рекомендуется для большинства интерактивных установок в macOS/Linux/WSL.

### Процесс (install.sh)

**1. Определение ОС**

Поддерживаются macOS и Linux (включая WSL).

**2. Установка Node.js 24 по умолчанию**

Проверяет версию Node и при необходимости устанавливает Node 24 (через Homebrew в macOS и сценарии настройки NodeSource в Linux с apt/dnf/yum). В macOS Homebrew устанавливается только тогда, когда он необходим установщику для Node или Git. Поддерживаются Node 22.22.3+, Node 24.15+ и Node 25.9+; Node 23 не поддерживается.
В Alpine/musl Linux установщик использует пакеты apk вместо NodeSource и проверяет фактическую версию подключённой библиотеки SQLite. Текущие стабильные ветки пакетов Alpine могут предоставлять достаточно новую версию Node с уязвимой системной SQLite; в этом случае используйте официальный контейнер `node:24-alpine` или хост на основе glibc.

**3. Установка Git**

Если Git отсутствует, устанавливает его с помощью обнаруженного диспетчера пакетов, включая Homebrew в macOS и apk в Alpine.

**4. Установка OpenClaw**

* Метод `npm` (по умолчанию): глобальная установка через npm
* Метод `git`: клонирование или обновление репозитория, установка зависимостей через pnpm, сборка, затем установка обёртки в `~/.local/bin/openclaw`

**5. Задачи после установки**

* Находит только что установленный исполняемый файл `openclaw` для последующих команд
* Для ненастроенной установки запускает первоначальную настройку перед doctor или проверками Gateway. При наличии `--no-onboard` или отсутствии TTY выводит команду для завершения настройки позднее.
* Для настроенной установки по возможности обновляет и перезапускает загруженную службу Gateway, а затем запускает doctor. При обновлении по возможности обновляет плагины либо выводит команду для ручного запуска в сеансе без графического интерфейса с включёнными запросами.
* При запуске `--verify` проверяет установленную версию и состояние Gateway, только если конфигурация уже существует.

### Обнаружение исходного рабочего дерева

При запуске внутри рабочего дерева OpenClaw (`package.json` + `pnpm-workspace.yaml`) сценарий предлагает:

* использовать рабочее дерево (`git`) или
* использовать глобальную установку (`npm`)

Если TTY недоступен и метод установки не задан, по умолчанию используется `npm` и выводится предупреждение.

Сценарий завершается с кодом `2` при выборе недопустимого метода или недопустимых значениях `--install-method`.

### Примеры (install.sh)

> [tab] По умолчанию
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
> ```

> [tab] Пропустить первоначальную настройку
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboard
> ```

> [tab] Установка через Git
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git
> ```

> [tab] Рабочее дерево main с GitHub
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git --version main
> ```

> [tab] Пробный запуск
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --dry-run
> ```

> [tab] Проверка после установки
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboard --verify
> ```

> [accordion] Справочник по флагам
>
> | Флаг | Описание |
> | - | - |
> | `--install-method \| --method npm\|git` | Выбрать метод установки (по умолчанию: `npm`) |
> | `--npm` | Сокращённый вариант для метода npm |
> | `--git \| --github` | Сокращённый вариант для метода git |
> | `--version <version\|dist-tag\|spec>` | Версия npm, тег дистрибутива или спецификация пакета (по умолчанию: `latest`) |
> | `--beta` | Использовать тег дистрибутива beta, если он доступен, иначе вернуться к `latest` |
> | `--git-dir \| --dir <path>` | Каталог рабочего дерева (по умолчанию: `~/openclaw`) |
> | `--no-git-update` | Пропустить `git pull` для существующего рабочего дерева |
> | `--no-prompt` | Отключить запросы |
> | `--no-onboard` | Пропустить первоначальную настройку |
> | `--onboard` | Включить первоначальную настройку |
> | `--verify` | Выполнить быструю проверку после установки (`--version`, состояние Gateway, если он загружен) |
> | `--dry-run` | Вывести действия без применения изменений |
> | `--verbose` | Включить отладочный вывод (`set -x`, журналы npm уровня notice) |
> | `--help \| -h` | Показать справку |

> [accordion] Справочник по переменным окружения
>
> | Переменная | Описание |
> | - | - |
> | `OPENCLAW_INSTALL_METHOD=git\|npm` | Метод установки |
> | `OPENCLAW_VERSION=latest\|next\|<semver>\|<spec>` | Версия npm, тег дистрибутива или спецификация пакета |
> | `OPENCLAW_BETA=0\|1` | Использовать beta, если она доступна |
> | `OPENCLAW_HOME=<path>` | Базовый каталог для состояния OpenClaw и стандартных путей git/первоначальной настройки |
> | `OPENCLAW_GIT_DIR=<path>` | Каталог рабочего дерева |
> | `OPENCLAW_GIT_UPDATE=0\|1` | Переключатель обновлений git |
> | `OPENCLAW_NO_PROMPT=1` | Отключить запросы |
> | `OPENCLAW_VERIFY_INSTALL=1` | Выполнить быструю проверку после установки |
> | `OPENCLAW_NO_ONBOARD=1` | Пропустить первоначальную настройку |
> | `OPENCLAW_DRY_RUN=1` | Режим пробного запуска |
> | `OPENCLAW_VERBOSE=1` | Режим отладки |
> | `OPENCLAW_NPM_LOGLEVEL=error\|warn\|notice` | Уровень журналирования npm (по умолчанию: `error`, скрывает сообщения npm об устаревании) |

***

## install-cli.sh

> [!NOTE]
>
> Предназначен для сред, где всё должно находиться под локальным префиксом
> (по умолчанию `~/.openclaw`) без зависимости от системной установки Node. По умолчанию поддерживает установку
> через npm, а также установку из рабочего дерева git в рамках того же процесса с префиксом.

### Процесс (install-cli.sh)

**1. Установка локальной среды выполнения Node**

Загружает архив tar с закреплённой поддерживаемой версией Node LTS (версия встроена в сценарий и обновляется независимо, по умолчанию `24.15.0`) в `<prefix>/tools/node-v<version>` и проверяет SHA-256.
В Linux ARMv7 используется Node `22.22.3`, поскольку официальные двоичные файлы Node 24+ для ARMv7 недоступны.
В Alpine/musl Linux, для которой Node не публикует совместимые архивы tar закреплённой среды выполнения, устанавливает `nodejs` и `npm` с помощью `apk`, а затем проверяет Node и фактически подключённую библиотеку SQLite. Текущие стабильные ветки пакетов Alpine могут по-прежнему подключать уязвимую SQLite даже при достаточно новой версии Node; если проверка безопасности отклоняет пакет, используйте официальный контейнер `node:24-alpine` или хост на основе glibc.

**2. Установка Git**

Если Git отсутствует, пытается установить его через apt/dnf/yum/apk в Linux или Homebrew в macOS.

**3. Установка OpenClaw под префиксом**

* Метод `npm` (по умолчанию): устанавливает через npm под префиксом, затем записывает обёртку в `<prefix>/bin/openclaw`
* Метод `git`: клонирует или обновляет рабочее дерево (по умолчанию `~/openclaw`) и также записывает обёртку в `<prefix>/bin/openclaw`

**4. Обновление загруженной службы Gateway**

Если служба Gateway уже загружена из того же префикса, сценарий запускает
`openclaw gateway install --force`, что активирует заменённую службу,
а затем по возможности проверяет состояние Gateway.

### Примеры (install-cli.sh)

> [tab] По умолчанию
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
> ```

> [tab] Пользовательский префикс и версия
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latest
> ```

> [tab] Установка через Git
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --install-method git --git-dir ~/openclaw
> ```

> [tab] Вывод JSON для автоматизации
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
> ```

> [tab] Запуск первоначальной настройки
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboard
> ```

> [accordion] Справочник по флагам
>
> | Флаг | Описание |
> | - | - |
> | `--prefix <path>` | Префикс установки (по умолчанию: `~/.openclaw`) |
> | `--install-method \| --method npm\|git` | Выбор способа установки (по умолчанию: `npm`) |
> | `--npm` | Сокращённый вариант для способа npm |
> | `--git \| --github` | Сокращённый вариант для способа git |
> | `--git-dir \| --dir <path>` | Каталог рабочей копии Git (по умолчанию: `~/openclaw`) |
> | `--version <ver>` | Версия или dist-tag OpenClaw (по умолчанию: `latest`) |
> | `--node-version <ver>` | Версия Node (по умолчанию: `24.15.0`; `22.22.3` в Linux ARMv7) |
> | `--json` | Вывод событий NDJSON |
> | `--onboard` | Запуск `openclaw onboard` после установки |
> | `--no-onboard` | Пропуск первоначальной настройки (по умолчанию) |
> | `--set-npm-prefix` | В Linux принудительно задать префикс npm как `~/.npm-global`, если текущий префикс недоступен для записи |
> | `--help \| -h` | Показать справку |

> [accordion] Справочник переменных среды
>
> | Переменная | Описание |
> | - | - |
> | `OPENCLAW_PREFIX=<path>` | Префикс установки |
> | `OPENCLAW_INSTALL_METHOD=git\|npm` | Способ установки |
> | `OPENCLAW_VERSION=<ver>` | Версия или dist-tag OpenClaw |
> | `OPENCLAW_NODE_VERSION=<ver>` | Версия Node |
> | `OPENCLAW_HOME=<path>` | Базовый каталог для состояния OpenClaw и стандартных путей git/первоначальной настройки |
> | `OPENCLAW_GIT_DIR=<path>` | Каталог рабочей копии Git для установок через git |
> | `OPENCLAW_GIT_UPDATE=0\|1` | Включение обновлений git для существующих рабочих копий |
> | `OPENCLAW_NO_ONBOARD=1` | Пропуск первоначальной настройки |
> | `OPENCLAW_NPM_LOGLEVEL=error\|warn\|notice` | Уровень журналирования npm (по умолчанию: `error`) |

> [!NOTE]
>
> `openclaw@main` и другие спецификации исходного кода GitHub не являются допустимыми целевыми значениями `--version` для установок через npm. Вместо них используйте `--install-method git --version main`.

***

## install.ps1

### Процесс (install.ps1)

**1. Проверка среды PowerShell и Windows**

Требуется PowerShell 5+.

**2. Проверка наличия Node.js 24 по умолчанию**

Если Node.js отсутствует, предпринимается попытка установки через winget, затем Chocolatey, затем Scoop. Если менеджер пакетов недоступен, скрипт загружает официальный ZIP-архив Node.js 24 для Windows в `%LOCALAPPDATA%\OpenClaw\deps\portable-node` и добавляет его в PATH текущего процесса и пользователя. Поддерживаются Node 22.22.3+, Node 24.15+ и Node 25.9+; Node 23 не поддерживается.

**3. Установка OpenClaw**

* Способ `npm` (по умолчанию): глобальная установка через npm с использованием выбранного `-Tag`, запущенная из доступного для записи временного каталога установщика, чтобы оболочки, открытые в защищённых папках, таких как `C:\`, продолжали работать
* Способ `git`: клонирование или обновление репозитория, установка и сборка с помощью pnpm, а также установка обёртки в `%USERPROFILE%\.local\bin\openclaw.cmd`. Если Git отсутствует, скрипт развёртывает локальный для пользователя MinGit в `%LOCALAPPDATA%\OpenClaw\deps\portable-git` и добавляет его в PATH текущего процесса и пользователя.

**4. Задачи после установки**

* По возможности добавляет необходимый каталог с исполняемыми файлами в PATH пользователя
* По возможности обновляет загруженную службу Gateway (`openclaw gateway install --force`, затем перезапуск)
* Запускает `openclaw doctor --non-interactive` при обновлениях и установках через git (по возможности)

**5. Обработка сбоев**

Установки через `iwr ... | iex` и блок скрипта сообщают о завершающей ошибке, не закрывая текущий сеанс PowerShell. Прямые установки через `powershell -File` / `pwsh -File` по-прежнему завершаются с ненулевым кодом для автоматизации.

### Примеры (install.ps1)

> [tab] По умолчанию
>
> ```powershell theme={"theme":{"light":"min-light","dark":"min-dark"}}
> iwr -useb https://openclaw.ai/install.ps1 | iex
> ```

> [tab] Установка через Git
>
> ```powershell theme={"theme":{"light":"min-light","dark":"min-dark"}}
> & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git
> ```

> [tab] Рабочая копия основной ветки GitHub
>
> ```powershell theme={"theme":{"light":"min-light","dark":"min-dark"}}
> & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -Tag main
> ```

> [tab] Пользовательский каталог git
>
> ```powershell theme={"theme":{"light":"min-light","dark":"min-dark"}}
> & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw"
> ```

> [tab] Пробный запуск
>
> ```powershell theme={"theme":{"light":"min-light","dark":"min-dark"}}
> & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRun
> ```

> [accordion] Справочник флагов
>
> | Флаг | Описание |
> | - | - |
> | `-InstallMethod npm\|git` | Способ установки (по умолчанию: `npm`) |
> | `-Tag <tag\|version\|spec>` | dist-tag, версия или спецификация пакета npm (по умолчанию: `latest`) |
> | `-GitDir <path>` | Каталог рабочей копии (по умолчанию: `%USERPROFILE%\openclaw`) |
> | `-NoOnboard` | Пропуск первоначальной настройки |
> | `-NoGitUpdate` | Пропуск `git pull` |
> | `-DryRun` | Только вывод действий |

> [accordion] Справочник переменных среды
>
> | Переменная | Описание |
> | - | - |
> | `OPENCLAW_INSTALL_METHOD=git\|npm` | Способ установки |
> | `OPENCLAW_GIT_DIR=<path>` | Каталог рабочей копии |
> | `OPENCLAW_NO_ONBOARD=1` | Пропуск первоначальной настройки |
> | `OPENCLAW_GIT_UPDATE=0` | Отключение git pull |
> | `OPENCLAW_DRY_RUN=1` | Режим пробного запуска |

> [!NOTE]
>
> Если используется `-InstallMethod git`, а Git отсутствует, скрипт пытается развернуть локальный для пользователя MinGit, прежде чем вывести ссылку на Git for Windows.

***

## CI и автоматизация

Используйте неинтерактивные флаги и переменные среды для предсказуемого выполнения.

> [tab] install.sh (неинтерактивный npm)
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboard
> ```

> [tab] install.sh (неинтерактивный git)
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> OPENCLAW_INSTALL_METHOD=git OPENCLAW_NO_PROMPT=1 \
>   curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
> ```

> [tab] install-cli.sh (JSON)
>
> ```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
> curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw
> ```

> [tab] install.ps1 (пропуск первоначальной настройки)
>
> ```powershell theme={"theme":{"light":"min-light","dark":"min-dark"}}
> & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
> ```

***

## Устранение неполадок

> [accordion] Почему требуется Git?
>
> Git требуется для способа установки `git`. При установках через `npm` наличие Git всё равно проверяется, и при необходимости он устанавливается, чтобы избежать сбоев `spawn git ENOENT`, когда зависимости используют URL-адреса git.

> [accordion] Почему npm выдаёт EACCES в Linux?
>
> В некоторых конфигурациях Linux глобальный префикс npm указывает на пути, принадлежащие пользователю root. `install.sh` может изменить префикс на `~/.npm-global` и добавить команды экспорта PATH в rc-файлы оболочки (если такие файлы существуют).

> [accordion] Windows: "npm error spawn git / ENOENT"
>
> Повторно запустите установщик, чтобы он мог развернуть локальный для пользователя MinGit, либо установите Git for Windows и заново откройте PowerShell.

> [accordion] Windows: "openclaw is not recognized"
>
> Выполните `npm config get prefix` и добавьте этот каталог в PATH пользователя (суффикс `\bin` в Windows не требуется), затем заново откройте PowerShell.

> [accordion] Windows: как получить подробный вывод установщика
>
> `install.ps1` не предоставляет флаг `-Verbose`.
> Для диагностики на уровне скрипта используйте трассировку PowerShell:
>
> ```powershell theme={"theme":{"light":"min-light","dark":"min-dark"}}
> Set-PSDebug -Trace 1
> & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
> Set-PSDebug -Trace 0
> ```

> [accordion] openclaw не найден после установки
>
> Обычно проблема связана с PATH. См. раздел [Устранение неполадок Node.js](https://docs2.openclaw.ai/ru/install/node.md#troubleshooting).

## Связанные материалы

* [Обзор установки](https://docs2.openclaw.ai/ru/install.md)
* [Обновление](https://docs2.openclaw.ai/ru/install/updating.md)
* [Удаление](https://docs2.openclaw.ai/ru/install/uninstall.md)
