14 KiB
| read_when | summary | title | x-i18n | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Довідник CLI для `openclaw update` (відносно безпечне оновлення джерела + автоматичний перезапуск Gateway) | Оновлення |
|
openclaw update
Безпечно оновлюйте OpenClaw і перемикайтеся між каналами stable/beta/dev.
Якщо ви встановили через npm/pnpm/bun (глобальне встановлення, без git-метаданих), оновлення відбуваються через потік менеджера пакетів у Оновлення.
Використання
openclaw update
openclaw update status
openclaw update wizard
openclaw update --channel beta
openclaw update --channel dev
openclaw update --tag beta
openclaw update --tag main
openclaw update --dry-run
openclaw update --no-restart
openclaw update --yes
openclaw update --json
openclaw --update
Параметри
--no-restart: пропустити перезапуск служби Gateway після успішного оновлення. Оновлення через менеджер пакетів, які перезапускають Gateway, перед успішним завершенням команди перевіряють, що перезапущена служба повідомляє очікувану оновлену версію.--channel <stable|beta|dev>: встановити канал оновлення (git + npm; зберігається в конфігурації).--tag <dist-tag|version|spec>: перевизначити ціль пакета лише для цього оновлення. Для встановлень пакетівmainзіставляється зgithub:openclaw/openclaw#main.--dry-run: попередньо переглянути заплановані дії оновлення (канал/тег/ціль/потік перезапуску) без запису конфігурації, встановлення, синхронізації плагінів або перезапуску.--json: вивести машинозчитуваний JSONUpdateRunResult, зокремаpostUpdate.plugins.integrityDrifts, коли під час синхронізації плагінів після оновлення виявлено дрейф артефактів npm-плагінів.--timeout <seconds>: тайм-аут для кожного кроку (типово 1800 с).--yes: пропустити запити підтвердження (наприклад, підтвердження повернення до старішої версії).
update status
Показує активний канал оновлення + git-тег/гілку/SHA (для вихідних checkout), а також доступність оновлення.
openclaw update status
openclaw update status --json
openclaw update status --timeout 10
Параметри:
--json: вивести машинозчитуваний JSON стану.--timeout <seconds>: тайм-аут для перевірок (типово 3 с).
update wizard
Інтерактивний потік для вибору каналу оновлення й підтвердження, чи перезапускати Gateway
після оновлення (типово перезапускається). Якщо ви виберете dev без git checkout, він
запропонує створити його.
Параметри:
--timeout <seconds>: тайм-аут для кожного кроку оновлення (типово1800)
Що він робить
Коли ви явно перемикаєте канали (--channel ...), OpenClaw також підтримує
узгодженість методу встановлення:
dev→ забезпечує git checkout (типово:~/openclaw, перевизначається черезOPENCLAW_GIT_DIR), оновлює його та встановлює глобальний CLI із цього checkout.stable→ встановлює з npm за допомогоюlatest.beta→ віддає перевагу npm dist-tagbeta, але повертається доlatest, коли beta відсутня або старіша за поточний stable-реліз.
Автооновлювач ядра Gateway (коли ввімкнений у конфігурації) запускає шлях оновлення CLI
поза живим обробником запитів Gateway. Оновлення менеджера пакетів update.run у площині керування
примусово виконують невідкладний перезапуск оновлення без періоду очікування після заміни пакета,
бо старий процес Gateway може досі мати в пам’яті фрагменти, що посилаються на
файли, видалені новим пакетом.
Для встановлень через менеджер пакетів openclaw update визначає цільову версію
пакета перед викликом менеджера пакетів. Глобальні встановлення npm використовують поетапне
встановлення: OpenClaw встановлює новий пакет у тимчасовий префікс npm, перевіряє
там інвентар упакованого dist, а потім замінює цим чистим деревом пакета
реальний глобальний префікс. Якщо перевірка не вдається, doctor після оновлення, синхронізація плагінів і
перезапуск не запускаються з підозрілого дерева. Навіть коли встановлена версія
вже відповідає цілі, команда оновлює глобальне встановлення пакета,
а потім запускає синхронізацію плагінів, оновлення завершення основних команд і перезапуск. Це
підтримує узгодженість упакованих sidecar-компонентів і записів плагінів, що належать каналу, із
встановленою збіркою OpenClaw, залишаючи повну перебудову завершення команд плагінів для
явних запусків openclaw completion --write-state.
Коли встановлено локальну керовану службу Gateway і ввімкнено перезапуск,
оновлення через менеджер пакетів зупиняють запущену службу перед заміною дерева
пакета, потім оновлюють метадані служби з оновленого встановлення, перезапускають
службу й перевіряють, що перезапущений Gateway повідомляє очікувану версію перед
повідомленням про успіх. На macOS перевірка після оновлення також перевіряє, що LaunchAgent
завантажений/запущений для активного профілю, а налаштований порт loopback є
справним. Якщо plist встановлено, але launchd не наглядає за ним, OpenClaw
автоматично повторно bootstrap-ить і kickstart-ить LaunchAgent, а потім повторно запускає
перевірки готовності health/версії/каналу. Якщо Gateway усе ще не стає
справним, команда завершується з ненульовим кодом і виводить шлях до журналу перезапуску, а також явні
інструкції щодо перезапуску, перевстановлення та відкату пакета. З --no-restart
заміна пакета все одно виконується, але керована служба не зупиняється і не
перезапускається, тому запущений Gateway може зберігати старий код, доки ви не перезапустите його
вручну.
Потік git checkout
Вибір каналу
stable: checkout останнього небета-тега, потім build і doctor.beta: віддати перевагу останньому тегу-beta, але повернутися до останнього stable-тега, коли beta відсутня або старіша.dev: checkoutmain, потім fetch і rebase.
Кроки оновлення
Вимагає відсутності незакомічених змін. Перемикає на вибраний канал (тег або гілку). Лише для dev. Запускає lint і TypeScript build у тимчасовому worktree. Якщо tip не проходить, повертається назад до 10 комітів, щоб знайти найновіший чистий build. Виконує rebase на вибраний коміт (лише dev). Використовує менеджер пакетів репозиторію. Для pnpm checkout оновлювач bootstrap-ить `pnpm` на вимогу (спочатку через `corepack`, потім через запасний тимчасовий `npm install pnpm@10`) замість запуску `npm run build` усередині pnpm workspace. Збирає gateway і Control UI. `openclaw doctor` запускається як фінальна перевірка безпечного оновлення. Синхронізує плагіни з активним каналом. Dev використовує bundled плагіни; stable і beta використовують npm. Оновлює відстежувані встановлення плагінів.На каналі оновлення beta відстежувані npm і ClawHub встановлення плагінів, що слідують
типовій/latest лінії, спершу пробують реліз плагіна @beta. Якщо плагін не має
beta-релізу, OpenClaw повертається до записаної типової/latest специфікації. Точні
версії та явні теги не переписуються.
Коли оновлений Gateway запускається, завантаження плагінів працює лише в режимі перевірки: startup не запускає менеджери пакетів і не змінює дерева залежностей. Перезапуски менеджера пакетів update.run обходять звичайне відкладення під час простою та cooldown перезапуску після заміни дерева пакета, тому старий процес не може продовжувати lazy-load видалених фрагментів.
Якщо pnpm bootstrap усе ще не вдається, оновлювач зупиняється рано з помилкою, специфічною для менеджера пакетів, замість спроби виконати npm run build усередині checkout.
Скорочення --update
openclaw --update переписується на openclaw update (корисно для оболонок і launcher-скриптів).
Пов’язане
openclaw doctor(пропонує спершу запустити update на git checkout)- Канали розробки
- Оновлення
- Довідник CLI