Перейти до основного вмісту

Внутрішня будова інсталяторів

OpenClaw постачається з трьома скриптами встановлення, які віддаються з openclaw.ai.
СкриптПлатформаЩо він робить
install.shmacOS / Linux / WSLУстановлює Node за потреби, установлює OpenClaw через npm (типово) або git і може запустити онбординг.
install-cli.shmacOS / Linux / WSLУстановлює Node + OpenClaw у локальний prefix (~/.openclaw) у режимі npm або git checkout. Root не потрібен.
install.ps1Windows (PowerShell)Установлює Node за потреби, установлює OpenClaw через npm (типово) або git і може запустити онбординг.

Швидкі команди

curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --help
Якщо встановлення пройшло успішно, але openclaw не знаходиться в новому терміналі, див. усунення проблем із Node.js.

install.sh

Рекомендовано для більшості інтерактивних встановлень на macOS/Linux/WSL.

Потік виконання (install.sh)

1

Визначення ОС

Підтримує macOS і Linux (включно з WSL). Якщо виявлено macOS, установлює Homebrew, якщо його немає.
2

Типово забезпечує Node.js 24

Перевіряє версію Node і за потреби встановлює Node 24 (Homebrew на macOS, скрипти налаштування NodeSource для Linux apt/dnf/yum). OpenClaw і далі підтримує Node 22 LTS, наразі 22.14+, для сумісності.
3

Забезпечує Git

Установлює Git, якщо його немає.
4

Установлює OpenClaw

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

Завдання після встановлення

  • Оновлює завантажений сервіс gateway у режимі best-effort (openclaw gateway install --force, потім restart)
  • Запускає openclaw doctor --non-interactive під час оновлень і git-встановлень (best effort)
  • Намагається запустити онбординг, коли це доречно (TTY доступний, онбординг не вимкнено, перевірки bootstrap/config пройдені)
  • Типово встановлює SHARP_IGNORE_GLOBAL_LIBVIPS=1

Визначення source checkout

Якщо скрипт запущено всередині checkout OpenClaw (package.json + pnpm-workspace.yaml), він пропонує:
  • використати checkout (git), або
  • використати глобальне встановлення (npm)
Якщо TTY недоступний і метод встановлення не задано, за замовчуванням використовується npm і виводиться попередження. Скрипт завершується з кодом 2 у разі некоректного вибору методу або некоректних значень --install-method.

Приклади (install.sh)

curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
ПрапорОпис
--install-method npm|gitВибір методу встановлення (типово: npm). Псевдонім: --method
--npmСкорочення для методу npm
--gitСкорочення для методу git. Псевдонім: --github
--version <version|dist-tag|spec>Версія npm, dist-tag або package spec (типово: latest)
--betaВикористовувати beta dist-tag, якщо доступний, інакше fallback до latest
--git-dir <path>Каталог checkout (типово: ~/openclaw). Псевдонім: --dir
--no-git-updateПропустити git pull для наявного checkout
--no-promptВимкнути prompt
--no-onboardПропустити онбординг
--onboardУвімкнути онбординг
--dry-runВивести дії без застосування змін
--verboseУвімкнути debug-вивід (set -x, журнали npm рівня notice)
--helpПоказати usage (-h)
ЗміннаОпис
OPENCLAW_INSTALL_METHOD=git|npmМетод встановлення
OPENCLAW_VERSION=latest|next|main|<semver>|<spec>Версія npm, dist-tag або package spec
OPENCLAW_BETA=0|1Використовувати beta, якщо доступна
OPENCLAW_GIT_DIR=<path>Каталог checkout
OPENCLAW_GIT_UPDATE=0|1Перемикач оновлень git
OPENCLAW_NO_PROMPT=1Вимкнути prompt
OPENCLAW_NO_ONBOARD=1Пропустити онбординг
OPENCLAW_DRY_RUN=1Режим сухого запуску
OPENCLAW_VERBOSE=1Режим debug
OPENCLAW_NPM_LOGLEVEL=error|warn|noticeРівень журналювання npm
SHARP_IGNORE_GLOBAL_LIBVIPS=0|1Керування поведінкою sharp/libvips (типово: 1)

install-cli.sh

Призначений для середовищ, де ви хочете тримати все під локальним prefix (типово ~/.openclaw) і без системної залежності від Node. Типово підтримує встановлення через npm, а також встановлення з git-checkout у межах того самого потоку prefix.

Потік виконання (install-cli.sh)

1

Установлення локального runtime Node

Завантажує закріплений tarball підтримуваної Node LTS (версію вбудовано в скрипт і оновлюється незалежно) у <prefix>/tools/node-v<version> і перевіряє SHA-256.
2

Забезпечує Git

Якщо Git відсутній, намагається встановити його через apt/dnf/yum у Linux або Homebrew на macOS.
3

Установлення OpenClaw у prefix

  • метод npm (типово): установлює в prefix через npm, а потім записує обгортку в <prefix>/bin/openclaw
  • метод git: клонує/оновлює checkout (типово ~/openclaw) і все одно записує обгортку в <prefix>/bin/openclaw
4

Оновлення завантаженого сервісу gateway

Якщо сервіс gateway уже завантажено з цього самого prefix, скрипт виконує openclaw gateway install --force, потім openclaw gateway restart і у режимі best-effort перевіряє health gateway.

Приклади (install-cli.sh)

curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash
ПрапорОпис
--prefix <path>Prefix встановлення (типово: ~/.openclaw)
--install-method npm|gitВибір методу встановлення (типово: npm). Псевдонім: --method
--npmСкорочення для методу npm
--git, --githubСкорочення для методу git
--git-dir <path>Каталог git checkout (типово: ~/openclaw). Псевдонім: --dir
--version <ver>Версія OpenClaw або dist-tag (типово: latest)
--node-version <ver>Версія Node (типово: 22.22.0)
--jsonВиводити події NDJSON
--onboardЗапустити openclaw onboard після встановлення
--no-onboardПропустити онбординг (типово)
--set-npm-prefixУ Linux примусово встановити npm prefix у ~/.npm-global, якщо поточний prefix недоступний для запису
--helpПоказати usage (-h)
ЗміннаОпис
OPENCLAW_PREFIX=<path>Prefix встановлення
OPENCLAW_INSTALL_METHOD=git|npmМетод встановлення
OPENCLAW_VERSION=<ver>Версія OpenClaw або dist-tag
OPENCLAW_NODE_VERSION=<ver>Версія Node
OPENCLAW_GIT_DIR=<path>Каталог git checkout для git-встановлень
OPENCLAW_GIT_UPDATE=0|1Перемикач оновлень git для наявних checkout
OPENCLAW_NO_ONBOARD=1Пропустити онбординг
OPENCLAW_NPM_LOGLEVEL=error|warn|noticeРівень журналювання npm
SHARP_IGNORE_GLOBAL_LIBVIPS=0|1Керування поведінкою sharp/libvips (типово: 1)

install.ps1

Потік виконання (install.ps1)

1

Забезпечує PowerShell + середовище Windows

Потрібен PowerShell 5+.
2

Типово забезпечує Node.js 24

Якщо відсутній, намагається встановити через winget, потім Chocolatey, потім Scoop. Node 22 LTS, наразі 22.14+, і далі підтримується для сумісності.
3

Установлює OpenClaw

  • метод npm (типово): глобальне встановлення через npm із використанням вибраного -Tag
  • метод git: клонування/оновлення репозиторію, встановлення/збірка через pnpm і встановлення обгортки в %USERPROFILE%\.local\bin\openclaw.cmd
4

Завдання після встановлення

  • Додає потрібний каталог bin до користувацького PATH, коли це можливо
  • Оновлює завантажений сервіс gateway у режимі best-effort (openclaw gateway install --force, потім restart)
  • Запускає openclaw doctor --non-interactive під час оновлень і git-встановлень (best effort)

Приклади (install.ps1)

iwr -useb https://openclaw.ai/install.ps1 | iex
ПрапорОпис
-InstallMethod npm|gitМетод встановлення (типово: npm)
-Tag <tag|version|spec>npm dist-tag, версія або package spec (типово: latest)
-GitDir <path>Каталог checkout (типово: %USERPROFILE%\openclaw)
-NoOnboardПропустити онбординг
-NoGitUpdateПропустити git pull
-DryRunЛише вивести дії
ЗміннаОпис
OPENCLAW_INSTALL_METHOD=git|npmМетод встановлення
OPENCLAW_GIT_DIR=<path>Каталог checkout
OPENCLAW_NO_ONBOARD=1Пропустити онбординг
OPENCLAW_GIT_UPDATE=0Вимкнути git pull
OPENCLAW_DRY_RUN=1Режим сухого запуску
Якщо використовується -InstallMethod git, а Git відсутній, скрипт завершується і виводить посилання на Git for Windows.

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

Використовуйте неінтерактивні прапори/змінні середовища для передбачуваних запусків.
curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboard

Усунення проблем

Git потрібен для методу встановлення git. Для встановлень через npm Git усе одно перевіряється/встановлюється, щоб уникнути збоїв spawn git ENOENT, коли залежності використовують git URL.
У деяких Linux-налаштуваннях глобальний prefix npm вказує на шляхи, що належать root. install.sh може переключити prefix на ~/.npm-global і додати експорти PATH у shell rc-файли (коли ці файли існують).
Скрипти типово встановлюють SHARP_IGNORE_GLOBAL_LIBVIPS=1, щоб уникнути збирання sharp проти системного libvips. Щоб перевизначити:
SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash
Установіть Git for Windows, знову відкрийте PowerShell і повторно запустіть інсталятор.
Виконайте npm config get prefix і додайте цей каталог до користувацького PATH (у Windows не потрібен суфікс \bin), а потім знову відкрийте PowerShell.
install.ps1 наразі не надає перемикача -Verbose. Для діагностики на рівні скрипту використовуйте трасування PowerShell:
Set-PSDebug -Trace 1
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard
Set-PSDebug -Trace 0
Зазвичай це проблема з PATH. Див. усунення проблем із Node.js.