Внутрішня будова інсталяторів
OpenClaw постачається з трьома скриптами встановлення, які віддаються зopenclaw.ai.
| Скрипт | Платформа | Що він робить |
|---|---|---|
install.sh | macOS / Linux / WSL | Установлює Node за потреби, установлює OpenClaw через npm (типово) або git і може запустити онбординг. |
install-cli.sh | macOS / Linux / WSL | Установлює Node + OpenClaw у локальний prefix (~/.openclaw) у режимі npm або git checkout. Root не потрібен. |
install.ps1 | Windows (PowerShell) | Установлює Node за потреби, установлює OpenClaw через npm (типово) або git і може запустити онбординг. |
Швидкі команди
- install.sh
- install-cli.sh
- install.ps1
Якщо встановлення пройшло успішно, але
openclaw не знаходиться в новому терміналі, див. усунення проблем із Node.js.install.sh
Потік виконання (install.sh)
Визначення ОС
Підтримує macOS і Linux (включно з WSL). Якщо виявлено macOS, установлює Homebrew, якщо його немає.
Типово забезпечує Node.js 24
Перевіряє версію Node і за потреби встановлює Node 24 (Homebrew на macOS, скрипти налаштування NodeSource для Linux apt/dnf/yum). OpenClaw і далі підтримує Node 22 LTS, наразі
22.14+, для сумісності.Установлює OpenClaw
- метод
npm(типово): глобальне встановлення через npm - метод
git: клонування/оновлення репозиторію, встановлення залежностей через pnpm, збірка, а потім установлення обгортки в~/.local/bin/openclaw
Завдання після встановлення
- Оновлює завантажений сервіс 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)
npm і виводиться попередження.
Скрипт завершується з кодом 2 у разі некоректного вибору методу або некоректних значень --install-method.
Приклади (install.sh)
- Типово
- Пропустити онбординг
- Встановлення через git
- GitHub main через npm
- Сухий запуск
Довідник прапорів
Довідник прапорів
| Прапор | Опис |
|---|---|
--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)
Установлення локального runtime Node
Завантажує закріплений tarball підтримуваної Node LTS (версію вбудовано в скрипт і оновлюється незалежно) у
<prefix>/tools/node-v<version> і перевіряє SHA-256.Забезпечує Git
Якщо Git відсутній, намагається встановити його через apt/dnf/yum у Linux або Homebrew на macOS.
Установлення OpenClaw у prefix
- метод
npm(типово): установлює в prefix через npm, а потім записує обгортку в<prefix>/bin/openclaw - метод
git: клонує/оновлює checkout (типово~/openclaw) і все одно записує обгортку в<prefix>/bin/openclaw
Приклади (install-cli.sh)
- Типово
- Власний prefix + версія
- Встановлення через git
- JSON-вивід для автоматизації
- Запустити онбординг
Довідник прапорів
Довідник прапорів
| Прапор | Опис |
|---|---|
--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)
Типово забезпечує Node.js 24
Якщо відсутній, намагається встановити через winget, потім Chocolatey, потім Scoop. Node 22 LTS, наразі
22.14+, і далі підтримується для сумісності.Установлює OpenClaw
- метод
npm(типово): глобальне встановлення через npm із використанням вибраного-Tag - метод
git: клонування/оновлення репозиторію, встановлення/збірка через pnpm і встановлення обгортки в%USERPROFILE%\.local\bin\openclaw.cmd
Приклади (install.ps1)
- Типово
- Встановлення через git
- GitHub main через npm
- Власний каталог git
- Сухий запуск
- Трасування debug
Довідник прапорів
Довідник прапорів
| Прапор | Опис |
|---|---|
-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 та автоматизація
Використовуйте неінтерактивні прапори/змінні середовища для передбачуваних запусків.- install.sh (неінтерактивний npm)
- install.sh (неінтерактивний git)
- install-cli.sh (JSON)
- install.ps1 (пропустити онбординг)
Усунення проблем
Чому потрібен Git?
Чому потрібен Git?
Git потрібен для методу встановлення
git. Для встановлень через npm Git усе одно перевіряється/встановлюється, щоб уникнути збоїв spawn git ENOENT, коли залежності використовують git URL.Чому npm отримує EACCES у Linux?
Чому npm отримує EACCES у Linux?
У деяких Linux-налаштуваннях глобальний prefix npm вказує на шляхи, що належать root.
install.sh може переключити prefix на ~/.npm-global і додати експорти PATH у shell rc-файли (коли ці файли існують).Проблеми із sharp/libvips
Проблеми із sharp/libvips
Скрипти типово встановлюють
SHARP_IGNORE_GLOBAL_LIBVIPS=1, щоб уникнути збирання sharp проти системного libvips. Щоб перевизначити:Windows: "npm error spawn git / ENOENT"
Windows: "npm error spawn git / ENOENT"
Установіть Git for Windows, знову відкрийте PowerShell і повторно запустіть інсталятор.
Windows: "openclaw is not recognized"
Windows: "openclaw is not recognized"
Виконайте
npm config get prefix і додайте цей каталог до користувацького PATH (у Windows не потрібен суфікс \bin), а потім знову відкрийте PowerShell.Windows: як отримати докладний вивід інсталятора
Windows: як отримати докладний вивід інсталятора
install.ps1 наразі не надає перемикача -Verbose.
Для діагностики на рівні скрипту використовуйте трасування PowerShell:openclaw не знайдено після встановлення
openclaw не знайдено після встановлення
Зазвичай це проблема з PATH. Див. усунення проблем із Node.js.