---
read_when:
    - Обновление OpenClaw
    - Что-то перестаёт работать после обновления
summary: Безопасное обновление OpenClaw (при глобальной установке или установке из исходного кода) и стратегия отката
title: Обновление
x-i18n:
    generated_at: "2026-07-13T18:20:40Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 06b475fcd715afa5f4b9fa3fc7d546ba8dc53805c6a29e12fd4706dceb04cb60
    source_path: install/updating.md
    workflow: 16
---

Поддерживайте OpenClaw в актуальном состоянии.

О замене образов Docker, Podman и Kubernetes см.
[Обновление образов контейнеров](/ru/install/docker#upgrading-container-images). Перед переходом в состояние готовности
Gateway выполняет безопасные при запуске операции обновления и завершает работу, если
подключённое состояние требует ручного восстановления.

## Рекомендуется: `openclaw update`

Определяет тип установки (npm или git), получает последнюю версию, выполняет `openclaw doctor` и перезапускает Gateway.

```bash
openclaw update
```

Переключение каналов или выбор конкретной версии:

```bash
openclaw update --channel beta
openclaw update --channel extended-stable
openclaw update --channel dev
openclaw update --dry-run   # предварительный просмотр без применения
```

У `openclaw update` нет флага `--verbose` (он есть у установщика). Для диагностики используйте
`--dry-run`, чтобы предварительно просмотреть запланированные действия, `--json` для структурированных результатов или
`openclaw update status --json`, чтобы проверить состояние канала и доступности.

`--channel beta` предпочитает npm dist-тег beta, но возвращается к stable/latest,
если тег beta отсутствует или его версия старше последнего стабильного
выпуска. Вместо этого используйте `--tag beta` для однократного обновления пакета с привязкой непосредственно к npm
dist-тегу beta.

`--channel extended-stable` работает только с пакетами, а установка по-прежнему
выполняется только в интерактивном режиме. OpenClaw считывает общедоступный селектор npm `extended-stable`,
проверяет точно выбранный пакет и устанавливает именно эту версию. При отсутствии
или несогласованности данных реестра операция безопасно завершается ошибкой; возврата к `latest` не происходит.
Если выбранная версия старше установленной, по-прежнему применяется обычное
подтверждение понижения версии. После успешного обновления ядра CLI сохраняет канал;
прямой вызов `npm install -g openclaw@extended-stable`
не обновляет `update.channel`.
После замены ядра подходящие официальные npm-плагины с намерением bare/default или
`latest` приводятся к точно такой же версии ядра. Точные привязки и явные
теги, отличные от `latest`, сторонние плагины и источники не из npm остаются без изменений.
Установки из каталога, созданные текущими версиями OpenClaw, сохраняют это намерение
по умолчанию. Более старые записи, содержащие только точную версию, остаются закреплёнными, поскольку
OpenClaw не может безопасно отличить старую автоматическую привязку от пользовательской; один раз выполните
`openclaw plugins update @openclaw/name` на канале extended-stable,
чтобы снова включить для этого плагина отслеживание точной версии ядра.

`--channel dev` предоставляет постоянную обновляемую рабочую копию GitHub `main`. Для однократного
обновления пакета `--tag main` сопоставляется со спецификацией пакета `github:openclaw/openclaw#main`
и устанавливается напрямую через целевой менеджер пакетов (npm/pnpm/bun).

Для управляемых плагинов отсутствие бета-выпуска является предупреждением, а не ошибкой:
обновление ядра всё равно может завершиться успешно, а плагин вернётся к записанному
выпуску default/latest.

Семантика каналов описана в разделе [Каналы выпусков](/ru/install/development-channels).

## Переключение между установками npm и git

Используйте каналы для изменения типа установки. Средство обновления сохраняет состояние, конфигурацию,
учётные данные и рабочую область в `~/.openclaw`; изменяется только установка кода OpenClaw,
которую используют CLI и Gateway.

```bash
# установка пакета npm -> редактируемая рабочая копия git
openclaw update --channel dev

# рабочая копия git -> установка пакета npm
openclaw update --channel stable
```

Сначала предварительно просмотрите переключение режима установки:

```bash
openclaw update --channel dev --dry-run
openclaw update --channel stable --dry-run
```

`dev` обеспечивает наличие рабочей копии git, собирает её и устанавливает из неё глобальный CLI.
Каналы `stable`, `extended-stable` и `beta` используют установки
пакетов. Канал extended-stable отклоняется для рабочей копии git без её изменения или
преобразования. Если Gateway уже установлен, `openclaw update` обновляет
метаданные службы и перезапускает её, если не передан `--no-restart`.

Для установок пакетов с управляемой службой Gateway команда `openclaw update` нацелена
на корень пакета, используемый этой службой. Если команда оболочки `openclaw`
относится к другой установке, средство обновления выводит оба корня и путь Node
управляемой службы, а перед заменой пакета проверяет соответствие этой версии Node
требованию `engines.node` целевого выпуска.

## Альтернатива: повторный запуск установщика

```bash
curl -fsSL https://openclaw.ai/install.sh | bash
```

Добавьте `--no-onboard`, чтобы пропустить первоначальную настройку. Чтобы принудительно выбрать конкретный тип установки, передайте
`--install-method git --no-onboard` или `--install-method npm --no-onboard`.

Если `openclaw update` завершается ошибкой после этапа установки пакета npm, повторно запустите
установщик. Он не вызывает средство обновления, а напрямую выполняет глобальную установку
пакета и может восстановить частично обновлённую установку npm.

```bash
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm
```

Закрепите восстановление на конкретной версии или dist-теге с помощью `--version`:

```bash
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version <version-or-dist-tag>
```

## Альтернатива: ручное обновление через npm, pnpm или bun

```bash
npm i -g openclaw@latest
```

Для контролируемых установок предпочитайте `openclaw update`: эта команда может согласовать замену пакета
с работающей службой Gateway. При ручном обновлении контролируемой установки
сначала остановите управляемый Gateway. Менеджеры пакетов заменяют файлы
на месте, и в противном случае работающий Gateway может попытаться загрузить файлы ядра или плагина
в процессе замены. После завершения работы менеджера пакетов перезапустите Gateway, чтобы он использовал
новую установку.

Если в общесистемной установке Linux с глобальным каталогом, принадлежащим root, команда `openclaw update` завершается ошибкой
`EACCES`, выполните восстановление с помощью системного npm, не запуская Gateway во время
ручной замены. Используйте те же флаги профиля и переменные окружения, которые обычно применяются для
этого Gateway. Замените `/usr/bin/npm` системным npm, которому принадлежит
глобальный префикс root на вашем хосте:

```bash
openclaw gateway stop
sudo /usr/bin/npm i -g openclaw@latest
openclaw gateway install --force
openclaw gateway restart
```

Затем выполните проверку:

```bash
openclaw --version
curl -fsS http://127.0.0.1:18789/readyz
openclaw plugins list --json
openclaw gateway status --deep --json
openclaw doctor --lint --json
```

Когда `openclaw update` управляет глобальной установкой npm, целевая версия сначала устанавливается
во временный префикс npm, затем проверяется состав упакованных файлов `dist`, после чего
чистое дерево пакета заменяет дерево в реальном глобальном префиксе. Это предотвращает
наложение нового пакета npm на устаревшие файлы старого пакета. Если команда
установки завершается ошибкой, OpenClaw повторяет попытку один раз с `--omit=optional`, что помогает на хостах,
где невозможно скомпилировать необязательные нативные зависимости.

Управляемые OpenClaw команды обновления npm и плагинов также отключают для дочернего процесса npm
карантин цепочки поставок `min-release-age` (или более старый ключ конфигурации `before`).
Эта политика предназначена для общей защиты, но явное обновление OpenClaw означает
«установить выбранный выпуск сейчас».

```bash
pnpm add -g openclaw@latest
```

```bash
bun add -g openclaw@latest
```

### Расширенные темы установки npm

<AccordionGroup>
  <Accordion title="Дерево пакетов только для чтения">
    OpenClaw считает упакованные глобальные установки доступными во время выполнения только для чтения, даже если текущий пользователь может записывать данные в глобальный каталог пакетов. Пакеты плагинов устанавливаются в принадлежащие OpenClaw корни npm/git в каталоге пользовательской конфигурации, а запуск Gateway не изменяет дерево пакетов OpenClaw.

    В некоторых конфигурациях npm в Linux глобальные пакеты устанавливаются в принадлежащие root каталоги, например `/usr/lib/node_modules/openclaw`. OpenClaw поддерживает такую структуру, поскольку команды установки и обновления плагинов записывают данные вне этого глобального каталога пакетов.

  </Accordion>
  <Accordion title="Усиленные модули systemd">
    Предоставьте OpenClaw доступ на запись к корням конфигурации и состояния, чтобы явные установки плагинов, обновления плагинов и очистка doctor могли сохранять изменения:

    ```ini
    ReadWritePaths=/var/lib/openclaw /home/openclaw/.openclaw /tmp
    ```

  </Accordion>
  <Accordion title="Предварительная проверка свободного места">
    Перед обновлением пакетов и явной установкой плагинов OpenClaw по возможности проверяет свободное место на целевом томе. При нехватке места выводится предупреждение с проверенным путём, но обновление не блокируется, поскольку квоты файловой системы, снимки и сетевые тома могут измениться после проверки. Определяющими остаются фактическая установка менеджером пакетов и проверка после установки.
  </Accordion>
</AccordionGroup>

## Автоматическое обновление

По умолчанию отключено. Включите его в `~/.openclaw/openclaw.json`:

```json5
{
  update: {
    channel: "stable",
    auto: {
      enabled: true,
      stableDelayHours: 6,
      stableJitterHours: 12,
      betaCheckIntervalHours: 1,
    },
  },
}
```

| Канал           | Поведение                                                                                                                                     |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `stable`          | Ожидает `stableDelayHours` (по умолчанию: 6), затем применяет обновление с детерминированным случайным сдвигом в пределах `stableJitterHours` (по умолчанию: 12) для распределённого развёртывания. |
| `extended-stable` | Проверяет наличие информационного уведомления об обновлении при запуске и каждые 24 часа, когда включён `checkOnStart`. Никогда не применяет обновление автоматически.                |
| `beta`            | Выполняет проверку каждые `betaCheckIntervalHours` (по умолчанию: 1) и немедленно применяет обновление.                                                                  |
| `dev`             | Автоматическое применение отсутствует. Используйте `openclaw update` вручную.                                                                                          |

Gateway также записывает в журнал уведомление об обновлении при запуске (отключается с помощью
`update.checkOnStart: false`). Сохранённые варианты extended-stable используют этот
путь информационных уведомлений и существующий 24-часовой интервал уведомлений, но никогда не запускают
автоматическую установку, передачу управления, перезапуск, задержку или случайный сдвиг stable либо опрос beta.
Для понижения версии или восстановления после сбоя задайте `OPENCLAW_NO_AUTO_UPDATE=1` в окружении Gateway, чтобы блокировать автоматическое применение обновлений, даже если настроен `update.auto.enabled`. Уведомления об обновлениях при запуске по-прежнему могут выполняться, если также не отключён `update.checkOnStart`.

Обновления менеджера пакетов, запрошенные через активную плоскость управления Gateway
(`update.run`), не заменяют дерево пакета внутри работающего процесса Gateway.
В установках с управляемой службой Gateway запускает отделённую передачу управления,
завершает работу и позволяет обычному пути CLI `openclaw update --yes --json` остановить
службу, заменить пакет, обновить метаданные службы, перезапустить её, проверить
версию и доступность Gateway и по возможности восстановить установленный, но не загруженный
LaunchAgent macOS. Если Gateway не может безопасно выполнить такую передачу управления,
`update.run` сообщает безопасную команду оболочки вместо запуска менеджера
пакетов внутри процесса.

Карточка обновления на боковой панели Control UI запускает тот же процесс `update.run`. В
подписанном приложении macOS карточка сначала обновляет приложение через Sparkle; после повторного запуска
приложение приводит управляемый локальный Gateway к соответствующей версии.

## После обновления

<Steps>

### Запустите doctor

```bash
openclaw doctor
```

Переносит конфигурацию, проверяет политики личных сообщений и состояние Gateway. Подробнее: [Doctor](/ru/gateway/doctor)

### Перезапустите Gateway

```bash
openclaw gateway restart
```

### Проверьте работу

```bash
openclaw health
```

</Steps>

## Откат

### Закрепление версии (npm)

```bash
npm i -g openclaw@<version>
openclaw doctor
openclaw gateway restart
```

<Tip>
`npm view openclaw version` показывает текущую опубликованную версию.
</Tip>

### Закрепление коммита (исходный код)

```bash
git fetch origin
git checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"
pnpm install && pnpm build
openclaw gateway restart
```

Чтобы вернуться к последней версии: `git checkout main && git pull`.

## Если у вас возникли трудности

- Снова запустите `openclaw doctor` и внимательно прочитайте вывод.
- Для `openclaw update --channel dev` в рабочих копиях исходного кода средство обновления при необходимости автоматически подготавливает `pnpm`. Если возникает ошибка подготовки pnpm/corepack, установите `pnpm` вручную (или снова включите `corepack`) и повторно запустите обновление.
- См.: [Устранение неполадок](/ru/gateway/troubleshooting)
- Задайте вопрос в Discord: [https://discord.gg/clawd](https://discord.gg/clawd)

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

- [Обзор установки](/ru/install): все способы установки.
- [Диагностика](/ru/gateway/doctor): проверки работоспособности после обновлений.
- [Миграция](/ru/install/migrating): руководства по миграции между основными версиями.
