Homebrew: обзор
для чего нужен пакетный менеджер Homebrew для MacOS
Homebrew — это пакетный менеджер, который позволяет устанавливать программы и утилиты командной строки.
В этой статье мы рассмотрим для чего нужен Homebrew и его альтернативы, поговорим о том, сколько времени потребуется для установки этого пакетного менеджера, изучим терминологию Homebrew и, наконец, коснёмся информации, отсутствующей на официальном сайте Homebrew.
Прежде чем начать
Для установки Homebrew потребуется терминал. По умолчанию Apple предлагает терминал Mac, но, возможно, работа в Warp Terminal для некоторых разработчиков окажется более продуктивной, так как Warp с помощью искусственного интеллекта помогает изучить и запомнить утилиты командной строки.
Этапы установки Homebrew:
- Проверьте актуальность операционной системы macOS и обновите её при необходимости.
- Проверьте наличие Xcode CLT.
- Установите Homebrew.
- Обновите конфигурацию интерфейса командной строки (Mac M1 M2 M3).
- Установите пакеты приложений и инструментов, необходимые для разработки.
Что такое Homebrew?
Homebrew — это пакетный менеджер macOS (на самом деле он применим и для Linux). Homebrew является одним из важнейших инструментов, необходимых для настройки локальной среды разработки при программирования на Mac.
Homebrew нужен для установки, обновления и удаления программ и утилит командной строки. Это как App Store, но для инструментов программирования и бесплатно.
Стоит заметить, что по умолчанию каждый релиз MacOS содержит несколько языков программирования и утилит командной строки, но в подавляющем большинстве случаев для эффективной работы требуются более новые версии программных продуктов. А такая опция компанией Apple, к сожалению, не предоставляется.
К счастью, всё, что нужно программисту, можно получить с Homebrew. Почти каждая полезная программа с открытым исходным кодом (пакет) доступна через Homebrew, с единым механизмом установки и управления каждой из них.
Самый большой недостаток Homebrew? Милая терминология, состоящая из: kegs (бочонков), casks (бочек), bottles (бутылок) и других терминов, связанных с пивом (ведь Homebrew - это все-таки в переводе “домашнее пиво”).
Mac M1, M2, M3 (Apple Silicon)
Homebrew добавил поддержку Apple Silicon (чипы Mac M1, M2, M3) начиная с выпуска Homebrew 3.0.0 в феврале 2021 года. На платформу Apple Silicon Homebrew устанавливает файлы в папку /opt/homebrew/
, которая не является частью дефолтной оболочки $PATH
. В связи с этим, при установке Homebrew на Apple Silicon нужно настроить окружение, чтобы пакеты Homebrew правильно идентифицировались и имели приоритет над предустановленными инструментами.
Если у вас старый Intel Mac, Homebrew устанавливает файлы в /usr/local/
, папку, которая по умолчанию доступна переменной окружения MacOS $PATH
. Установка Homebrew для Mac Intel проще, поскольку нет необходимости настраивать окружение. Пакеты Homebrew находятся автоматически. Однако, ранее команда Homebrew подверглась критике за использование папки /usr/local/
, поскольку присутствовал риск того, что нежелательные программы смогут устанавливать свой код в эту папку, перезаписывая пакеты Homebrew.
Начиная с версии 3.0.0 для Apple Silicon команда Homebrew отреагировала на критику и изменила дефолтный путь для установки своего продоукта, добавив шаг, требующий изменения среды окружения. Эксперты утверждают, что настройка окружения является базовым мероприятием хотя для новичков этот этап зачастую достаточно мучителен.
Homebrew и менеджеры версий
Нужно понимать разницу между Homebrew и менеджерами версий программного обеспечения.
Homebrew — это пакетный менеджер, который добавляет одну версию языка программирования, например Python или Ruby, на Mac. Он может установить одну (и только одну!) версию языка (обычно последнюю).
Установка языка программирования с помощью Homebrew подойдет для студента или обычного пользователя.
Однако большинство профессионалов используют Homebrew для установки менеджера версий программного обеспечения, который помогает устанавливать несколько версий языка и переключаться между ними. Большинство программистов создают и поддерживают несколько приложений, зависящих от разных версий языка. Если Вы работаете с несколькими языками программирования и их несколькими версиями (например, Ruby и Node), рассмотрите возможность использования Homebrew для установки Asdf на Mac. Если вы работаете в команде со сложной средой проектирования (например, Ruby, Node, Redis и PostgreSQL в рамках одного проекта), Вас могут попросить использовать контейнерную систему Docker, позволяющую настраивать несколько сред разработки (например, несколько компьютеров с разными конфигурациями).
Альтернативы Homebrew
MacPorts , Fink , pkgin и Nix являются альтернативами Homebrew на macOS.
В Linux разработчики используют вместо Homebrew apt-get.
В Windows разработчики используют Chocolatey для установки программ из библиотеки пакетов NuGet (они также используют apt-get в WSL, подсистеме Windows для Linux).
MacPorts требует больше технических навыков и требует использования sudo
и доступа уровня root
(Homebrew стремится быть более дружественным и безопасным для любых пользователей). MacPorts во многом независим от macOS, игнорируя многие системные библиотеки и программное обеспечение, которые уже доступны в macOS, избегая зависимости от графика обновлений Apple (Homebrew для более быстрой настройки использует системные библиотеки macOS). MacPorts стал лучшим выбором для многопользовательского Mac, когда несколько разработчиков используют одно и то же устройство.
Fink является старейший из пакетных менеджеров для Mac, который изменяет библиотеку пакетов Linux apt-get. Fink часто не обновляется для использования с последней версии macOS.
Pkgin устанавливает двоичные файлы из репозитория NetBSD (Unix) pkgsrc и требует использования sudo
и доступа уровня root
, что делает его более подходящим для опытного пользователя Unix.
Некоторые разработчики в больших командах используют менеджер пакетов Nix. Nix очень сложен, но создает полностью изолированные, воспроизводимые среды для разработки.
**Homebrew ** стал самым популярным менеджером пакетов, поскольку он прост в использовании и часто обновляется.
Сколько времени занимает установка Homebrew?
Пользователи, впервые устанавливающие Homebrew, спрашивают: “Сколько времени занимает установка Homebrew?”.
На Mac M1 Mini 2021 года с подключением к Интернету на скорости 100 Мбит/с установка Homebrew занимает от 2 до 15 минут.
Этот процесс займёт больше времени на Mac Intel при медленном интернет-соединении. В таком случае, установка пакетов может занять несколько минут, особенно если готовый двоичный файл недоступен, а программный пакет должен быть скомпилирован в процессе установки.
Спасибо за внимание.