Как проявляется
При запуске onboard и выборе brew-зависимого навыка (например, openai-whisper) установка завершается с ошибкой «brew not installed».
Из-за чего возникает
Официальный Docker-образ OpenClaw не содержит Homebrew, а автоматического механизма его установки нет. Контейнер запускается от пользователя node без прав на директории Homebrew.
Как исправить
- Создайте файл
Dockerfile.local, расширяющий образopenclaw:local, и установите Linuxbrew по стандартному пути/home/linuxbrew/.linuxbrew:
FROM openclaw:local
USER root
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential procps curl file git python3 ca-certificates && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*
RUN mkdir -p /home/linuxbrew && \
chown -R node:node /home/linuxbrew
USER node
RUN NONINTERACTIVE=1 /bin/bash -c \
"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
USER root
RUN ln -sf /home/linuxbrew/.linuxbrew/bin/brew /usr/local/bin/brew
USER node
- Создайте файл
docker-compose.override.ymlс указанием переменных окружения для Homebrew:
services:
openclaw-gateway:
image: openclaw:local-brew
environment:
HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew
HOMEBREW_BREW_FILE: /home/linuxbrew/.linuxbrew/bin/brew
openclaw-cli:
image: openclaw:local-brew
environment:
HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew
HOMEBREW_BREW_FILE: /home/linuxbrew/.linuxbrew/bin/brew
- Соберите образы и запустите onboarding:
docker build -t openclaw:local -f Dockerfile .
docker build -t openclaw:local-brew -f Dockerfile.local .
docker compose run --rm openclaw-cli onboard --no-install-daemon
- После запуска onboarding нажмите Ctrl+C, когда процесс будет готов.
Это решение проверено и работает у нескольких пользователей.
Как не столкнуться снова
Используйте кастомный Docker-образ с предустановленным Linuxbrew для навыков, требующих brew, чтобы избежать ошибки.
Источник
Разбор основан на обсуждении в репозитории проекта: issue #14593.
Другие типичные проблемы — в разделе ошибок и решений, а базовая настройка разобрана в первом запуске.