Homebrew — это бесплатная система управления пакетами программного обеспечения с открытым исходным кодом , которая упрощает установку программного обеспечения в операционных системах Apple , macOS , а также Linux . Название призвано подсказать идею создания программного обеспечения для Mac в зависимости от вкуса пользователя. Первоначально написанный Максом Хауэллом, менеджер пакетов завоевал популярность в сообществе Ruby on Rails и заслужил похвалу за свою расширяемость . [6] Homebrew был рекомендован за простоту использования [7] , а также за интеграцию в интерфейс командной строки . [8] Homebrew является членом Open Source Collective, [9] и полностью управляется бесплатными добровольцами. [10]
Homebrew широко использовал GitHub для расширения поддержки нескольких пакетов за счет вклада пользователей. В 2010 году Homebrew был третьим по количеству разветвлений репозиторием на GitHub. [11] В 2012 году у Homebrew было наибольшее количество новых участников на GitHub. [12] В 2013 году у Homebrew было наибольшее количество участников и закрытых задач среди всех проектов на GitHub. [13]
Homebrew породил несколько подпроектов, таких как Linuxbrew, порт Linux , который теперь официально объединен с Homebrew; [14] [15] Homebrew Cask, основанный на Homebrew и ориентированный на установку приложений с графическим интерфейсом ; [16] и «краны», посвященные конкретным областям или языкам программирования, таким как PHP . [17]
Homebrew был написан Максом Хауэллом в 2009 году. [1] [18] В марте 2013 года Homebrew успешно завершил кампанию на Kickstarter по сбору средств для серверов для тестирования и создания формул и сумел собрать 14 859 фунтов стерлингов . [19] 13 декабря 2013 г. репозиторий Homebrew был перенесен из учетной записи Howell на GitHub в собственную учетную запись проекта. [20] В феврале 2015 года из-за простоя SourceForge , в результате которого двоичные файлы были недоступны, Homebrew перенесла свой хостинг на Bintray. [21] 21 сентября 2016 г. была выпущена версия Homebrew 1.0.0. [22] По состоянию на февраль 2021 года Homebrew обслуживает команда из 34 человек. [10] В январе 2019 года Linuxbrew снова был объединен с Homebrew, в результате чего в набор функций Homebrew была добавлена поддержка бета-версии Linux и подсистемы Windows для Linux . [23] 2 февраля 2019 г. была выпущена версия Homebrew 2.0.0. [24] 21 сентября 2020 года через GitHub Releases была выпущена версия Homebrew 2.5.2 с поддержкой кранов для бутылок (репозиториев бинарных пакетов). [25] Версия 3.0.0 была выпущена почти ровно через два года после версии 2.0.0, 5 февраля 2021 года, и в нее добавлена официальная поддержка компьютеров Mac с процессором Apple Silicon . [26] 12 апреля 2021 г. была выпущена версия Homebrew 3.1.0, завершившая миграцию бутылок (бинарных пакетов) в пакеты GitHub перед закрытием Bintray 1 мая 2021 г., как ранее объявил JFrog. [27] 16 февраля 2023 года была выпущена версия Homebrew 4.0.0, которая по умолчанию извлекает формулы, поддерживаемые Homebrew, из размещенных файлов JSON, а не из локальных клонов Git. [28]
Homebrew написан на языке программирования Ruby и предназначен для версии Ruby, установленной в операционной системе macOS. По умолчанию он устанавливается /usr/local
на компьютеры на базе процессоров Intel и /opt/homebrew
Apple Silicon . [29] [30] Установка состоит из репозитория Git , который позволяет пользователям обновлять Homebrew, извлекая обновленный репозиторий из GitHub . [ нужна цитация ] Менеджер пакетов собирает программное обеспечение из исходного кода, используя «формулы», сценарии Ruby, созданные с использованием доменно-ориентированного языка (DSL) Homebrew для управления зависимостями, загрузки исходных файлов, а также настройки и компиляции программного обеспечения. Двоичные пакеты, называемые «бутылками», предоставляют готовые формулы с параметрами по умолчанию. [31]
Homebrew не учитывает привилегии по умолчанию для /usr/local
; Владелец каталога меняется с root с правами группы для группы Wheel на устанавливающего пользователя и группу «Администратор». В частности, режим меняется с drwxr-xr-x root wheel
на drwxrwxr-x myuser admin
. [32] Установщик меняет владельца всех файлов, а не только каталогов. Некоторые считают это серьезным недостатком безопасности. [33]
Homebrew собирает статистику установки, ошибок сборки и версий операционной системы через InfluxDB . [34] Начиная с Homebrew 4.0.23, сбор данных через Google Analytics не осуществляется. [35] Пользователи могут просматривать аналитические данные за последние 30, 90 и 365 дней на веб-сайте Homebrew. [36]
Отказаться от сбора данных можно с помощью команды brew analytics off
. [37]
{{cite web}}
: CS1 maint: bot: исходный статус URL неизвестен ( ссылка ){{cite web}}
: CS1 maint: неподходящий URL ( ссылка )