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

OpenClaw поставляется с двумя скриптами установщика (обслуживаются с openclaw.ai):

  • https://openclaw.bot/install.sh — "рекомендуемый" установщик (глобальная установка npm по умолчанию; также может установить из GitHub-клона)
  • https://openclaw.bot/install-cli.sh — установщик CLI без root (устанавливает в префикс со своим собственным Node)
  • https://openclaw.ai/install.ps1 — установщик Windows PowerShell (npm по умолчанию; опциональная git-установка)

Чтобы увидеть текущие флаги/поведение, запустите:

curl -fsSL https://openclaw.bot/install.sh | bash -s -- --help

Справка Windows (PowerShell):

& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -?

Если установщик завершается, но openclaw не найден в новом терминале, обычно это проблема с Node/npm PATH. См.: Установка.

install.sh (рекомендуется)

Что он делает (на верхнем уровне):

  • Определяет ОС (macOS / Linux / WSL).
  • Обеспечивает Node.js 22+ (macOS через Homebrew; Linux через NodeSource).
  • Выбирает метод установки:
    • npm (по умолчанию): npm install -g openclaw@latest
    • git: клонирование/сборка исходной папки и установка обёрточного скрипта
  • В Linux: избегает ошибок прав доступа глобального npm, переключая префикс npm на ~/.npm-global при необходимости.
  • При обновлении существующей установки: запускает openclaw doctor --non-interactive (максимальное усилие).
  • Для git-установок: запускает openclaw doctor --non-interactive после установки/обновления (максимальное усилие).
  • Смягчает проблемы нативной установки sharp, по умолчанию устанавливая SHARP_IGNORE_GLOBAL_LIBVIPS=1 (избегает сборки против системного libvips).

Если вы хотите, чтобы sharp ссылался на глобально установленный libvips (или вы отлаживаете), установите:

SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL https://openclaw.bot/install.sh | bash

Обнаруживаемость / запрос "git install"

Если вы запускаете установщик, находясь уже внутри исходной папки OpenClaw (обнаруживается через package.json + pnpm-workspace.yaml), он запрашивает:

  • обновить и использовать эту папку (git)
  • или мигрировать на глобальную npm-установку (npm)

В неинтерактивных контекстах (нет TTY / --no-prompt), вы должны передать --install-method git|npm (или установить OPENCLAW_INSTALL_METHOD), иначе скрипт завершится с кодом 2.

Почему нужен Git

Git требуется для пути --install-method git (клонирование / pull).

Для npm-установок Git обычно не требуется, но некоторые окружения всё ещё могут нуждаться в нём (например, когда пакет или зависимость загружается через git URL). Установщик в настоящее время гарантирует наличие Git, чтобы избежать сюрпризов spawn git ENOENT на свежих дистрибутивах.

Почему npm выдаёт EACCES на свежем Linux

В некоторых Linux-настройках (особенно после установки Node через системный пакетный менеджер или NodeSource), глобальный префикс npm указывает на местоположение, принадлежащее root. Тогда npm install -g ... не удаётся с ошибками EACCES / mkdir прав доступа.

install.sh смягчает это, переключая префикс на:

  • ~/.npm-global (и добавляя его в PATH в ~/.bashrc / ~/.zshrc, когда присутствует)

install-cli.sh (установщик CLI без root)

Этот скрипт устанавливает openclaw в префикс (по умолчанию: ~/.openclaw) и также устанавливает выделенную среду выполнения Node под этот префикс, чтобы работать на машинах, где вы не хотите трогать системный Node/npm.

Справка:

curl -fsSL https://openclaw.bot/install-cli.sh | bash -s -- --help

install.ps1 (Windows PowerShell)

Что он делает (на верхнем уровне):

  • Обеспечивает Node.js 22+ (winget/Chocolatey/Scoop или вручную).
  • Выбирает метод установки:
    • npm (по умолчанию): npm install -g openclaw@latest
    • git: клонирование/сборка исходной папки и установка обёрточного скрипта
  • Запускает openclaw doctor --non-interactive при обновлениях и git-установках (максимальное усилие).

Примеры:

iwr -useb https://openclaw.ai/install.ps1 | iex
iwr -useb https://openclaw.ai/install.ps1 | iex -InstallMethod git
iwr -useb https://openclaw.ai/install.ps1 | iex -InstallMethod git -GitDir "C:\\openclaw"

Переменные окружения:

  • OPENCLAW_INSTALL_METHOD=git|npm
  • OPENCLAW_GIT_DIR=...

Требование Git:

Если вы выбираете -InstallMethod git и Git отсутствует, установщик выведет ссылку Git для Windows (https://git-scm.com/download/win) и выйдет.

Распространенные проблемы Windows:

  • npm error spawn git / ENOENT: установите Git для Windows и откройте PowerShell заново, затем запустите установщик снова.
  • "openclaw" is not recognized: ваша глобальная папка npm bin не в PATH. Большинство систем используют %AppData%\\npm. Вы также можете запустить npm config get prefix и добавить \\bin в PATH, затем открыть PowerShell заново.