Homebrew - это менеджер пакетов для macOS. Позволяет устанавливать программы, библиотеки и утилиты одной командой в терминале вместо ручного скачивания .dmg файлов.
В мире Linux есть apt и yum, в Windows - winget и Chocolatey. На macOS стандарт - Homebrew.
Зачем нужен
- Скорость: установить десять программ - десять команд по одной строке вместо десяти посещений сайтов и распаковок DMG
- Обновления: одна команда обновляет всё установленное через Homebrew
- Автоматизация: можно записать список нужных программ в скрипт, и при переустановке Mac восстановить все одной командой
- Зависимости: автоматически ставит библиотеки которые нужны программам
- Несистемная установка: всё кладётся в
/opt/homebrew/(Apple Silicon) или/usr/local/(Intel) - не трогает системные папки
Как установить
В терминале выполните:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Установщик попросит пароль администратора и сделает всё сам - 5-10 минут. В конце покажет инструкции по добавлению Homebrew в PATH:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
После этого команда brew доступна в любом окне терминала.
Основные команды
brew search VLC # найти пакет в репозитории
brew info vlc # подробности о пакете
brew install vlc # установить пакет
brew install --cask vlc # установить .app-приложение
brew uninstall vlc # удалить пакет
brew list # все установленные пакеты
brew update # обновить список доступных пакетов
brew upgrade # обновить все установленные пакеты
brew upgrade vlc # обновить только конкретный пакет
brew cleanup # удалить устаревшие версии
brew doctor # проверка здоровья Homebrew
Формулы (Formulae) и каски (Casks)
Homebrew разделяет пакеты на два типа:
Formulae - утилиты командной строки и библиотеки. Устанавливаются в /opt/homebrew/bin/. Примеры:
git,wget,curl,htop,jq,ripgrep,tree,tldrpython,node,php,rubymysql,postgresql,redis
Casks - графические .app-приложения. Устанавливаются в /Applications/. Примеры:
firefox,brave-browser,arc,tor-browserslack,telegram,signalvisual-studio-code,iterm2,obsidianvlc,iina,obs
Команда отличается флагом --cask:
brew install rectangle # утилита/библиотека (нет такой среди formulae)
brew install --cask rectangle # GUI-программа Rectangle
Полезные сценарии
Установка набора программ одной командой:
brew install --cask brave-browser bitwarden visual-studio-code obsidian
Сохранить и восстановить список программ:
brew bundle dump # создаёт Brewfile с текущими установками
brew bundle install # установит всё что в Brewfile (на новом Mac)
Обновить всё одной командой:
brew update && brew upgrade && brew cleanup
Где живёт
- Apple Silicon:
/opt/homebrew/ - Intel:
/usr/local/ - Конфиг:
~/.zprofileили~/.zshrc - Кеш:
~/Library/Caches/Homebrew/
Удаление Homebrew
Если решили удалить совсем:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
Но обычно Homebrew не мешает и не занимает много места после brew cleanup.
Альтернативы
- MacPorts - старый менеджер пакетов, более «строгий» в плане версий, но менее популярный
- Nix - продвинутый функциональный менеджер пакетов, кроссплатформенный
- App Store - официальный способ для GUI-программ, но мало системных утилит
В большинстве случаев Homebrew достаточно. Это де-факто стандарт у разработчиков и продвинутых пользователей Mac.