Homebrew
Проект Homebrew · лицензия BSD-2-Clause
Ставит на Mac и Linux консольные программы одной командой: FFmpeg, Pandoc, yt-dlp, Git и тысячи других. Без него агент на Mac застревает на первом шаге.
✓ Проверено 28.09.2026: Docker-контейнер Ubuntu 24.04.5 LTS, ARM64 (linux/arm64), glibc 2.39, отдельный пользователь без root, sudo без пароля. Что именно проверяли
Какую задачу решает
Ставит консольные программы одной командой: brew install ffmpeg, и программа готова к работе вместе со всем, что ей нужно. На Mac почти все программы этого раздела ставятся через Homebrew, поэтому без него агент застревает на первом шаге; работает и на Linux. Рецепт установки программы Homebrew называет формулой, в основном каталоге их больше 8 тысяч.
- Ставит программу одной командой brew install вместе со всем, что ей нужно: FFmpeg, Pandoc, yt-dlp, uv, Git, Node.js, GitHub CLI, ImageMagick.
- До установки показывает, что поставится и что обновится вместе с программой: brew install --dry-run.
- Показывает, что стоит и что устарело (brew list, brew outdated), обновляет и удаляет по одной программе: brew upgrade <имя>, brew uninstall <имя>.
- На Mac ставит и обычные приложения с окнами, например браузер: brew install --cask firefox.
- Подключается к агенту как MCP-сервер: команда brew mcp-server встроена в Homebrew, её подключают к Claude Desktop, Cursor и VS Code.
Пример результата
Говоришь агенту
Поставь через Homebrew FFmpeg и Pandoc. Сначала покажи, что поставится вместе с ними, и ничего не обновляй без моего «да».
Что получится
Агент показывает список из brew install --dry-run и ждёт ответа. После «да» ставит обе программы: команды ffmpeg и pandoc работают из любой папки, а brew list показывает их среди установленных.
Паспорт
- Кто делает
- Проект Homebrew
- Сайт
- brew.sh
- Исходный код
- github.com/Homebrew/brew
- Инструкция
- docs.brew.sh/Installation
- Лицензия
- BSD-2-Clause
- Версия
- 7.0.7 на 28.09.2026
- Системы
- macOS · Windows · Linux
- Где работает
- На компьютере, на сервере и в контейнере
- Цена
- Бесплатно
- Проверка
- Проверено 28.09
Установить агентом
Установи программу «Homebrew». Работай по шагам и после каждого коротко говори, что сделал.
Что это за программа (каталог smyslokod.ru, официальные источники сверены 28.09.2026):
- официальный сайт: https://brew.sh/
- исходный код: https://github.com/Homebrew/brew
- инструкция по установке: https://docs.brew.sh/Installation
- актуальная версия на 28.09.2026: 7.0.7
- лицензия: BSD-2-Clause
- для работы нужно (обязательно): Git - без него установщик с brew.sh останавливается. На Mac Git приходит с инструментами командной строки Xcode, и установщик ставит их сам, если есть права администратора; установщику .pkg Git не нужен
- для работы нужно (обязательно): build-essential, procps, curl и file (Linux) - компилятор и стандартные инструменты, которых Homebrew ждёт на Linux; на Debian и Ubuntu ставятся одной командой: sudo apt-get install build-essential procps curl file git
- для работы нужно (в отдельных случаях): Инструменты командной строки Xcode (Command Line Tools) - на Mac нужны, чтобы собирать программы из исходников; готовые сборки и приложения на Apple Silicon ставятся без них
- для работы нужно (в отдельных случаях): WSL 2 (Windows) - только на Windows: Homebrew работает внутри WSL 2, а WSL ставится командой wsl --install в PowerShell от администратора, потом перезагрузка
Правила:
1. Ничего не устанавливай и не меняй, пока я не скажу «да» на твой план.
2. Ставь только способами из этого промпта. Сторонние сборки, скрипты с форумов и из чужих репозиториев не бери.
3. Мои проекты не трогай: не меняй их файлы, виртуальные окружения и списки зависимостей (package.json, requirements.txt, pyproject.toml).
4. Команды с sudo, правку профиля оболочки (~/.zshrc, ~/.bashrc) и переменной PATH делай только после моего отдельного «да» на каждую.
5. Не проси у меня пароли и ключи и не выводи их. Если нужен пароль администратора, дай команду, я выполню её сам.
6. Homebrew ставь только официальными способами: командой с brew.sh или файлом Homebrew.pkg со страницы выпусков github.com/Homebrew/brew. Команды установки Homebrew из других мест не бери.
7. Для Homebrew это две разные просьбы, спрашивай про каждую отдельно: первая установка с sudo (если она спросит пароль администратора, дай команду мне, я запущу её в своём терминале) и строка eval "$(<папка Homebrew>/bin/brew shellenv)" в ~/.zprofile или ~/.bashrc.
8. Не запускай brew upgrade без имени программы: он обновит разом всё, в том числе Python и Node.js, на которых работают мои проекты. Обновляй только программу, которую я назову, и после моего «да».
9. brew install - только для программ, которые я назвал. Перед установкой покажи вывод brew install --dry-run <имя>: что поставится и что обновится вместе с ней.
10. Сторонние tap (репозитории формул не от Homebrew) не подключай и не отмечай доверенными (brew tap, brew trust) без моего «да»: их код запускается с моими правами.
11. Не запускай brew через sudo: Homebrew работает от пользователя, которому принадлежит.
12. Удаление Homebrew запускай только после моего «да» и сначала с флагом -- --dry-run: вместе с Homebrew удалятся все программы, поставленные через него.
Шаги:
0. Определи, где ты работаешь: мой компьютер, сервер или контейнер. Какая система и процессор, какие менеджеры пакетов есть (Homebrew, apt, winget, uv, pipx). Ставить нужно туда, где ты сам запускаешь команды.
- на компьютере: основной вариант для Mac. Первая установка просит пароль администратора, дальше консольные программы ставятся без sudo.
- на сервере: пригодится на Linux-сервере, когда нужной программы нет в пакетах дистрибутива или там старая версия. Homebrew рассчитан на одного пользователя-владельца, sudo нужен один раз: создать папку /home/linuxbrew/.linuxbrew.
- в контейнере: есть официальный образ ghcr.io/homebrew/brew. В свой образ на Ubuntu ставится той же командой от обычного пользователя: в контейнере Ubuntu 24.04 установка заняла 37 секунд.
1. Проверь, не стоит ли программа уже: brew --version ; ls /opt/homebrew/bin/brew /usr/local/bin/brew /home/linuxbrew/.linuxbrew/bin/brew. Если стоит и запускается, ничего не ставь и переходи к шагу 5.
2. Проверь, что есть всё нужное для работы: Git, build-essential, procps, curl и file (Linux). Чего нет, внеси в план отдельным пунктом. Проверь свободное место на диске: нужно около 260 МБ (замер в контейнере Ubuntu 24.04: сама установка 213 МБ, из них история репозитория Homebrew 140 МБ и встроенный Ruby 46 МБ, плюс кэш загрузок 44 МБ); установщик .pkg для Mac весит около 150 МБ; каждая программа добавляет своё, jq с зависимостью - 3,5 МБ.
3. Составь план: каким одним способом из списка ниже будешь ставить, что появится на диске и сколько места займёт, что поменяется в системе и как потом удалить. Покажи план и жди моего «да».
Способы из официальных источников:
- macOS и Linux, установщик с brew.sh: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" (покажет, что сделает, и спросит подтверждение и пароль администратора; профиль оболочки не правит, строку для него печатает в конце)
- macOS, установщик .pkg: sudo installer -pkg Homebrew.pkg -target / (файл Homebrew.pkg, около 150 МБ, со страницы https://github.com/Homebrew/brew/releases/latest; только Apple Silicon и macOS 15 и новее; Git и инструменты Xcode не нужны; файл можно открыть и двойным щелчком)
- Windows, установщик с brew.sh внутри WSL 2: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" (только если агент сам работает внутри WSL 2: агенту в самой Windows программы из WSL напрямую не видны, там ставь программы через winget)
4. Установи по согласованному плану. Если что-то идёт не так, как в плане, остановись и спроси.
5. Проверь результат:
- brew --version: программа запускается без ошибки;
- Предложи для проверки поставить маленькую программу jq для работы с JSON, около 3,5 МБ вместе с зависимостью. После моего «да» поставь её, прогони на своём тестовом файле и спроси, оставить её или удалить. Удаление: brew uninstall jq, потом brew autoremove --dry-run, и убирай только то, что пришло вместе с jq, после моего «да». Делай это во временной папке и не трогай мои файлы.
brew install --dry-run jq
brew install jq
printf '{"items":[{"name":"ffmpeg","mb":150},{"name":"pandoc","mb":45}]}' > check.json
jq -r '.items[] | select(.mb > 100) | .name' check.json
- если ты работаешь в папке моего проекта, покажи git status: от установки в проекте не должно появиться изменений.
6. Итог одним сообщением: что установлено, какой версии и куда, сколько места заняло, что поменялось в системе и как всё удалить (macOS и Linux, установщик с brew.sh: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"; macOS, установщик .pkg: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"; Windows, установщик с brew.sh внутри WSL 2: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)").
Если на любом шаге ошибка, не чини наугад: покажи текст ошибки и скажи, что, по-твоему, случилось. Частые проблемы: https://smyslokod.ru/cli/homebrew#problemyПромпт собран из официальных инструкций, сверенных 28.09.2026. Агент сначала проверит, что уже стоит, покажет план с местом на диске и способом удаления и без твоего «да» ничего не поставит.
Как ставят вручную
Способы из официальных источников, у каждого ссылка на первоисточник.
macOS и Linux · установщик с brew.sh · источник
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
покажет, что сделает, и спросит подтверждение и пароль администратора; профиль оболочки не правит, строку для него печатает в конце
macOS · установщик .pkg · источник
sudo installer -pkg Homebrew.pkg -target /
файл Homebrew.pkg, около 150 МБ, со страницы https://github.com/Homebrew/brew/releases/latest; только Apple Silicon и macOS 15 и новее; Git и инструменты Xcode не нужны; файл можно открыть и двойным щелчком
Windows · установщик с brew.sh внутри WSL 2 · источник
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
только если агент сам работает внутри WSL 2: агенту в самой Windows программы из WSL напрямую не видны, там ставь программы через winget
Как удалить
- macOS и Linux, установщик с brew.sh:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)" - macOS, установщик .pkg:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)" - Windows, установщик с brew.sh внутри WSL 2:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
Что нужно для работы
- Git (обязательно) - без него установщик с brew.sh останавливается. На Mac Git приходит с инструментами командной строки Xcode, и установщик ставит их сам, если есть права администратора; установщику .pkg Git не нужен
- build-essential, procps, curl и file (Linux) (обязательно) - компилятор и стандартные инструменты, которых Homebrew ждёт на Linux; на Debian и Ubuntu ставятся одной командой: sudo apt-get install build-essential procps curl file git
- Инструменты командной строки Xcode (Command Line Tools) (в отдельных случаях) - на Mac нужны, чтобы собирать программы из исходников; готовые сборки и приложения на Apple Silicon ставятся без них
- WSL 2 (Windows) (в отдельных случаях) - только на Windows: Homebrew работает внутри WSL 2, а WSL ставится командой wsl --install в PowerShell от администратора, потом перезагрузка
Системы
- macOS - на Apple Silicon полная поддержка macOS 15 Sequoia, 26 Tahoe и 27 Golden Gate, на macOS 11-14 работает без гарантий. На Mac с Intel официальный установщик больше не ставит Homebrew. Уже поставленный работает там без поддержки как минимум до сентября 2027. macOS 10.15 и старше не поддерживается.
- Windows - только если агент сам работает внутри WSL 2: агенту в самой Windows программы из WSL напрямую не видны, там ставь программы через winget
- Linux - процессоры x86_64 и ARM64. Полная поддержка - Ubuntu с glibc 2.39 и новее (Ubuntu 24.04); на системах с glibc от 2.13 до 2.38, например Ubuntu 22.04, Homebrew сам ставит свою glibc и работает без гарантий.
Где запускать
Ставить нужно туда, где работает агент: на твой компьютер, сервер или в контейнер.
- На компьютере - основной вариант для Mac. Первая установка просит пароль администратора, дальше консольные программы ставятся без sudo.
- На сервере - пригодится на Linux-сервере, когда нужной программы нет в пакетах дистрибутива или там старая версия. Homebrew рассчитан на одного пользователя-владельца, sudo нужен один раз: создать папку /home/linuxbrew/.linuxbrew.
- В контейнере - есть официальный образ ghcr.io/homebrew/brew. В свой образ на Ubuntu ставится той же командой от обычного пользователя: в контейнере Ubuntu 24.04 установка заняла 37 секунд.
Сколько ресурсов нужно
- Место на диске
- Около 260 МБ (замер в контейнере Ubuntu 24.04: сама установка 213 МБ, из них история репозитория Homebrew 140 МБ и встроенный Ruby 46 МБ, плюс кэш загрузок 44 МБ); установщик .pkg для Mac весит около 150 МБ; каждая программа добавляет своё, jq с зависимостью - 3,5 МБ
- Сеть
- Установка скачала 145 МБ (замер в контейнере). Готовые сборки программ Homebrew качает с ghcr.io, а перед brew install раз в сутки сам обновляет список программ.
Кэш загрузок лежит в ~/Library/Caches/Homebrew на Mac и в ~/.cache/Homebrew на Linux. После установок и обновлений Homebrew сам чистит старое по этим программам, раз в 30 дней - по всем; вручную - brew cleanup.
Лицензия и платные замены
Лицензия BSD-2-Clause. Это условия самого Homebrew, они важны тем, кто распространяет его код. У программ, которые Homebrew ставит, свои лицензии: их показывает brew info <имя>. Текст лицензии
Цена: Бесплатно
Платные замены
Платной замены нет: менеджеры пакетов для Mac, Linux и Windows бесплатные. Homebrew делают добровольцы, проект живёт на пожертвованиях.
Бесплатные замены
О чём помнить
- Команда с brew.sh скачивает установщик из интернета и сразу его запускает. Установщик сначала показывает, что сделает, и ждёт подтверждения. В режиме NONINTERACTIVE=1 и когда его запускает агент без терминала, он не ждёт: запускать его стоит только после твоего «да».
- На Mac первая установка просит пароль администратора: создать папку /opt/homebrew, добавить /opt/homebrew/bin в системный PATH (файл /etc/paths.d/homebrew) и, если нет Git, поставить инструменты командной строки Xcode. Дальше консольные программы ставятся без sudo, пароль спрашивают только некоторые приложения и службы.
- Профиль оболочки установщик сам не правит. В конце, в разделе «Next steps», он печатает строку eval "$(/opt/homebrew/bin/brew shellenv zsh)" для ~/.zprofile, на Linux - такую же с папкой /home/linuxbrew/.linuxbrew для ~/.bashrc. Документация Homebrew предупреждает: без неё Homebrew работать не будет.
- brew upgrade без имени обновляет разом все программы, а brew install может заодно обновить уже стоящие, если они нужны новой. Старые версии Homebrew удаляет сам, поэтому обновление Python или Node.js может сломать проекты, которые на них работают. Что изменится, заранее покажет brew install --dry-run.
- Tap - сторонний репозиторий с формулами, а формула - рецепт установки программы. Код из tap запускается с правами твоего пользователя, поэтому с версии 6.0 Homebrew требует явного доверия к tap не от Homebrew. Подключай их, только если знаешь автора.
- Удаление Homebrew стирает и все программы, поставленные через него, и кэш загрузок. Строку brew shellenv из профиля команда удаления не убирает: после удаления её нужно стереть, агент сделает это с твоего «да», иначе новый терминал будет писать ошибку. Что удалится, заранее покажет та же команда удаления с флагом: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)" -- --dry-run
- Homebrew собирает анонимную статистику установок, без идентификатора пользователя и IP-адреса. Отключить: brew analytics off.
Частые проблемы
brew: command not found сразу после установки
Строка brew shellenv не попала в профиль оболочки, и терминал не знает, где лежит brew. Выполни команды из раздела «Next steps» в конце установки. Для текущего окна хватит eval "$(/opt/homebrew/bin/brew shellenv)", на Linux путь /home/linuxbrew/.linuxbrew/bin/brew.
Homebrew on macOS is only supported on Apple Silicon processors!
Mac на процессоре Intel: установщик Homebrew 7 ставит только на Apple Silicon. На Mac с Intel бери MacPorts, его советуют сами разработчики Homebrew, или ставь программы их собственными установщиками.
Insufficient permissions to install Homebrew to "/opt/homebrew".
Установщику нужен пароль администратора, а его запустили без терминала (так команды запускает агент) или от пользователя без прав администратора. Запусти команду установки сам в своём терминале от пользователя-администратора, установщик спросит пароль. Если прав администратора нет, первую установку делает администратор компьютера.
You must install Git before installing Homebrew.
На Linux не стоит Git. Поставь зависимости из документации: sudo apt-get install build-essential procps curl file git на Debian и Ubuntu. Потом запусти установку снова.
Warning: Landlock ABI 10 or later is required to deny all network access
Ядро Linux умеет не всё, что нужно песочнице Homebrew, чтобы полностью закрыть сеть во время установки. Так было и при прогоне в контейнере на ядре 6.12. Это предупреждение, установка продолжается, чинить ничего не нужно.
Проверка
✓ Проверено 28.09.2026: Docker-контейнер Ubuntu 24.04.5 LTS, ARM64 (linux/arm64), glibc 2.39, отдельный пользователь без root, sudo без пароля.
- Когда
- 28.09.2026
- Среда
- Docker-контейнер Ubuntu 24.04.5 LTS, ARM64 (linux/arm64), glibc 2.39, отдельный пользователь без root, sudo без пароля
- Объём
- Установили и прогнали задачу на тестовых данных
- Что именно сделали
- docker run --rm с образом ubuntu:24.04 для linux/arm64: Ubuntu 24.04.5, glibc 2.39, ядро 6.12. Готовые сборки jq и oniguruma для arm64_linux есть, эмуляция amd64 не понадобилась.
- Зависимости по docs.brew.sh/Homebrew-on-Linux: apt-get install build-essential procps curl file git и sudo - 25 с, 130 МБ загрузки. Пользователь tester без root, sudo без пароля вместо ввода пароля администратора.
- От tester: NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - готово за 36,5 с, скачано 145 МБ. Через sudo установщик сделал одно: создал /home/linuxbrew/.linuxbrew с владельцем tester.
- Профиль оболочки установщик не тронул: контрольные суммы ~/.bashrc и ~/.profile те же. В конце напечатал строку eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv bash)" для ~/.bashrc; в новом входе без неё ответ brew: command not found.
- Место после установки: /home/linuxbrew/.linuxbrew - 213 МБ (история репозитория 140 МБ, встроенный Ruby 4.0.7 - 46 МБ), кэш ~/.cache/Homebrew - 44 МБ.
- brew --version - Homebrew 7.0.7; brew config - ветка stable, Ubuntu 24.04.5, glibc 2.39; brew doctor - Your system is ready to brew; brew analytics state - статистика включена.
- Задача: brew install jq за 3,8 с, скачано 1,1 МБ. Поставились jq 1.8.2 и зависимость oniguruma 6.9.10 готовыми сборками arm64_linux, 1,7 и 1,8 МБ. Было предупреждение Landlock ABI 10 or later is required, установка прошла.
- jq во временной папке на тестовом JSON из трёх записей: отбор select(.mb > 30) вернул ffmpeg и pandoc, сумма [.programs[].mb] | add - 215, вывод @tsv - три строки таблицы, код выхода 0.
- brew uninstall jq и brew autoremove удалили jq и oniguruma, brew cleanup --prune=all освободил 15,7 МБ кэша.
- Команда удаления NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)" убрала Homebrew и кэш за 0,5 с. Осталась пустая папка /home/linuxbrew/.linuxbrew/lib, о ней команда предупредила сама.
- Второй прогон в новом контейнере, дословно по командам карточки: brew install --dry-run jq до установки показал jq и oniguruma, printf и jq -r '.items[] | select(.mb > 100) | .name' check.json вывели ffmpeg, brew info jq показал License: MIT.
- Там же команда удаления с -- --dry-run показала список и ничего не удалила (213 МБ на месте), после неё настоящее удаление прошло. Контейнеры удалены (--rm), новых образов Docker не осталось.
| Дата | Версия | Объём | Где | Итог |
|---|---|---|---|---|
| 28.09.2026 | 7.0.7 | задача | контейнер, Linux | получилось |
| 28.09.2026 | 7.0.7 | источники | без установки | получилось |
«Проверено» ставим, только когда сами поставили программу и прогнали её на задаче. Сверка ссылок и вывод версии так не называются.
Программу делают её авторы. Мы сверяем официальные источники и описываем, что ей нужно, но код остаётся чужим. Перед установкой посмотри план агента: что он поставит и что поменяет в системе.