Что такое Homebrew и откуда берётся команда установки
Homebrew — сторонний менеджер пакетов для macOS, который ставит программы командной строки и некоторые графические приложения одной командой. Он не входит в систему и устанавливается отдельно, поэтому ему нужны инструменты командной строки Apple, которые установщик предложит добавить.
Команду установки берут только на официальном сайте проекта: это одна строка для терминала. Не копируйте её из случайных статей и видео, потому что такая строка запускает загруженный скрипт с вашими правами. Прочитайте то, что собираетесь запускать, и убедитесь, что адрес принадлежит проекту.
Расположение зависит от процессора. На Mac с чипом Apple Silicon Homebrew обычно живёт в папке /opt/homebrew, на компьютерах с процессором Intel — в /usr/local. Установщик в конце показывает команды, которые нужно добавить в файл настроек оболочки, чтобы терминал находил brew. Пропущенный шаг даёт ошибку «command not found», хотя установка прошла успешно.
После установки полезно выполнить brew doctor: утилита ищет типичные проблемы конфигурации и выводит предупреждения с пояснениями.
Базовые команды на каждый день
Набор команд небольшой, и большая часть работы укладывается в него.
| Команда | Что делает |
|---|---|
| brew search слово | ищет пакеты и приложения по названию |
| brew info имя | описание, версия, зависимости, замечания установки |
| brew install имя | ставит пакет командной строки |
| brew install --cask имя | ставит графическое приложение |
| brew list | показывает установленное |
| brew uninstall имя | удаляет пакет |
| brew outdated | показывает, что можно обновить |
| brew update | обновляет сам Homebrew и список формул |
| brew upgrade | обновляет установленные пакеты |
| brew cleanup | удаляет старые версии и кэш |
Формулой (formula) называют описание пакета для командной строки, а cask — описание приложения с окном, которое устанавливается в обычную папку программ. Имена и наличие конкретных программ проверяйте через brew search: список со временем меняется, и на память полагаться нельзя.
Update, upgrade и cleanup: правильный порядок
Как и в случае apt, название update вводит в заблуждение. brew update обновляет сам Homebrew и каталог доступных формул, но установленные программы остаются прежними. Реальные обновления выполняет brew upgrade.
Рабочий порядок:
- brew update — получить свежий каталог.
- brew outdated — посмотреть, что устарело. Проверка быстрая и показывает, что изменится.
- brew upgrade — обновить всё или brew upgrade имя для одной программы.
- brew cleanup — удалить старые версии, которые остаются после обновления.
Следует учесть, что графические приложения из cask часто умеют обновляться сами. Homebrew может не видеть такие обновления, и выбор между самообновлением и управлением через brew лучше сделать один раз для каждой программы, чтобы не получать конфликтов. Для приложений с собственным механизмом обновления brew upgrade иногда пропускает их, и тогда помогает отдельный ключ, который описан в справке brew upgrade --help.
Обновление всего подряд полезно не всегда. Если какая-то программа нужна конкретной версии для работы, её можно зафиксировать командой brew pin и снимать закрепление при необходимости.
Если что-то пошло не так
Типичные проблемы и порядок их разбора.
Команда не найдена. Откройте новое окно терминала и проверьте, прописан ли путь Homebrew в файле настроек оболочки. Установщик показывает точные строки в конце работы.
Ошибки прав доступа. Не запускайте brew через sudo: менеджер рассчитан на работу от имени обычного пользователя, и установка через администратора портит владельцев файлов. Если права уже нарушены, подсказки по исправлению обычно приводит brew doctor.
Конфликты и странные ошибки после обновления macOS. Обновите инструменты командной строки Apple, затем выполните brew update и brew doctor. После крупного обновления системы иногда нужна переустановка этих инструментов.
Пакет не собирается. Часть формул собирается из исходников, и сообщение об ошибке обычно содержит имя недостающей зависимости. Попробуйте обновить Homebrew и повторить. Если ошибка повторяется, читайте вывод целиком: в нём есть путь к файлу журнала сборки.
Не стоит копировать из интернета команды с принудительными ключами, пока вы не поняли, что они делают.
Место на диске и порядок на машине
Каждое обновление оставляет прежнюю версию пакета, поэтому со временем каталог Homebrew разрастается. brew cleanup удаляет устаревшее. Если нужно сначала посмотреть, что будет удалено, используйте ключ для пробного запуска, указанный в справке: так вы увидите список без изменений. Кэш загрузок можно найти командой brew --cache и посмотреть, сколько он занимает.
Раз в несколько месяцев полезно просмотреть brew list и убрать то, что вы ставили для разового дела. Зависимости, которые остались без хозяина, удаляет brew autoremove. Перед этим прочитайте список: если программа нужна вам, но поставлена как зависимость, установите её явно.
Для переноса настроек на другой компьютер существует brew bundle, который читает список пакетов из файла Brewfile. Это удобно, но файл надо просматривать перед запуском на новой машине, ведь он устанавливает всё, что в нём перечислено.
Если нужно найти, что занимает место, помогут df и du: на macOS команда du работает с ключом -d вместо --max-depth.
Как относиться к версиям и безопасности
Homebrew берёт на себя обновления, но ответственность за доверие к источникам остаётся на вас. Формулы публикуются в основном каталоге, и это удобная отправная точка. Добавление сторонних источников командой brew tap расширяет выбор, но означает доверие тем, кто их ведёт: перед подключением откройте страницу проекта и посмотрите, что именно вы ставите.
Если вам нужна конкретная версия программы, проверьте через brew info, какие варианты доступны: часть пакетов имеет отдельные формулы для разных мажорных версий. Универсального способа поставить любую старую версию нет, и на это не стоит рассчитывать.
Сообщайте о проблемах правильно: при ошибке сохраните вывод brew doctor и версию macOS, это первое, что понадобится для разбора. Регулярный порядок — обновлять раз в неделю или две, читать список в brew outdated и не обновлять всё подряд перед важной работой — спасает больше нервов, чем любая тонкая настройка.