Homebrew: терминология
изучаем термины пакетного менеджера Homebrew для MacOS
Работая с Homebrew можно либо полюбить, либо возненавидить “пивную” терминологию этого пакетного менеджера. В любом случае погрузиться в пивную экосистему придётся.
Итак, приступим:
formulae
formulae - это Ruby-скрипт, управляющий установкой пакета. Формулы разрабатываются специалистами технической поддержки пакетного менеджера. Разработчику не нужно знать, как писать формулу для того, чтобы использовать Homebrew, он просто вводит команду brew install <formula>
. Репозиторий homebrew-core содержит более 4000 пакетов. Каждая формула указывает местоположение исходного архива пакета и включает директивы для сборки программного продукта из архива.
tap
tap (рус.: “кран”) — это репозиторий, содержащий формулы Homebrew, используемые для установки пакетов. tap
по умолчанию находится на GitHub, как и homebrew-core. Команда brew tap
позволяет разработчику использовать формулы из собственного репозитория, не отправляя ничего на утверждение Homebrew.
keg
keg (рус.: “бочонок”) — это папка, содержащая определенную версию пакета, установленного с помощью Homebrew. Путь к кегу содержит имя пакета и номер версии, например: /opt/homebrew/Cellar/tree/1.8.0
. Для большинства пакетов Homebrew создает символическую ссылку (псевдоним) для каталога /opt/homebrew/bin/
и, входящего в её состав, кега. Поэтому ввод имени установленного пакета в командной строке обычно запустит установленную версию программного продукта из кега.
Некоторые пакеты устанавливаются “keg-only”, то есть без создания символической ссылки, поскольку пакет может конфликтовать с предустановленным пакетом от Apple. “keg-only” пакеты обычно являются зависимостями, необходимыми для установки или запуска других пакетов Homebrew. Это позволяет избежать конфликтов с системным программным обеспечением macOS.
bottle
bottle (рус.: “бутылка”) — это предварительно скомпилированный пакет, называемый иногда “бинарным”. Такой пакет значительно ускоряет процесс установки.
cellar
cellar (рус.: “подвал”) — это каталог, в котором Homebrew хранит пакеты. Для Mac Apple Silicon это папка /opt/homebrew/
, а для Mac Intel /usr/local/
.
cask
cask (рус.: “бочка”) похож на кег, но содержит приложения macOS GUI, установленные из командной строки. Бочки не очень популярны, но предоставляют механизм для автоматизации установки приложений GUI из скрипта или командной строки.
mxcl
mxcl это Макс Хауэлл, создатель Homebrew. Это не совсем термин, но его полезно знать.
Спасибо за внимание.