Node.js + npm (проверка PATH)
Базовая среда выполнения OpenClaw — Node 22+.
Если вы можете запустить npm install -g openclaw@latest, но позже видите openclaw: command not found, это почти всегда проблема PATH: директория, куда npm помещает глобальные бинарники, не находится в PATH вашей оболочки.
Быстрая диагностика
Запустите:
node -v
npm -v
npm prefix -g
echo "$PATH"
Если $(npm prefix -g)/bin (macOS/Linux) или $(npm prefix -g) (Windows) отсутствует в echo "$PATH", ваша оболочка не может найти глобальные бинарники npm (включая openclaw).
Исправление: добавьте директорию глобальных бинарников npm в PATH
- Найдите ваш глобальный префикс npm:
npm prefix -g
- Добавьте глобальную директорию npm bin в файл запуска вашей оболочки:
- zsh: ~/.zshrc
- bash: ~/.bashrc
Пример (замените путь на вывод вашего npm prefix -g):
# macOS / Linux
export PATH="/path/from/npm/prefix/bin:$PATH"
Затем откройте новый терминал (или запустите rehash в zsh / hash -r в bash).
В Windows добавьте вывод npm prefix -g в ваш PATH.
Исправление: избегайте sudo npm install -g / ошибок прав доступа (Linux)
Если npm install -g ... не удаётся с EACCES, переключите глобальный префикс npm на директорию, доступную для записи пользователем:
mkdir -p "$HOME/.npm-global"
npm config set prefix "$HOME/.npm-global"
export PATH="$HOME/.npm-global/bin:$PATH"
Сохраните строку export PATH=... в файле запуска вашей оболочки.
Рекомендуемые варианты установки Node
У вас будет меньше всего сюрпризов, если Node/npm установлены таким образом, что:
- Node остаётся обновлённым (22+)
- глобальная директория npm bin стабильна и находится в PATH в новых оболочках
Распространённые выборы:
- macOS: Homebrew (brew install node) или менеджер версий
- Linux: ваш предпочитаемый менеджер версий или дистрибутив-поддерживаемая установка, предоставляющая Node 22+
- Windows: официальный установщик Node, winget или менеджер версий Node для Windows
Если вы используете менеджер версий (nvm/fnm/asdf/и т.д.), убедитесь, что он инициализирован в оболочке, которую вы используете ежедневно (zsh vs bash), чтобы PATH, который он устанавливает, присутствовал при запуске установщиков.