Все менеджеры пакетов в Unix имеют определенные недостатки и большинство Linux-дистрибутивов пытаются по-разному эти недостатки обойти. В этом посте я расскажу про Homebrew — новый менеджер пакетов, нацеленный на простоту использования.
До Homebrew было несколько различных попыток создать эффективные пакетные менеджеры для OS X. Две наиболее популярные вылились в итоге в Fink и Macports, но у каждой из них все равно есть свои острые углы. В частности, в обоих создание своих пакетов или портов является черезчур сложным.
В Homebrew создавать новые пакеты и работать с ними проще пареной репы. Давайте посмотрим.
Что оно делает?
Основная мысль очень проста. Homebrew упрощает и автоматизирует монотонные действия по скачиванию и сборке пакетов. Если вам надоели бесконечные ./configure && make && make install, Homebrew поможет.
Первая и единственная зависимость Homebrew — OS X Developer Tools, которые доступны для бесплатного скачивания с сайта Apple (теперь это составная часть Xcode), либо установить OSX-GCC-Installer.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Использование Homebrew
Установка пакетов
Давайте установим консольный менеджер закачек wget, обладающий широкими возможностями. Это один из тех пакетов, который точно не будет лишним и подробнее о нем мы поговорим в одном из следующих материалов.
brew install wget
Проверим, скачав файл в папку «Загрузки»:
cd ~/Downloads/ wget http://yandex.st/morda-logo/i/logo.svg
Сначала мы перешли в папку «Загрузки», а потом скачали туда логотип Яндекса в векторе.
Обновить пакет, который был установлен ранее, можно с помощью команды:
$ brew upgrade wget
Где wget — имя пакета, который должен быть обновлен.
Поиск пакетов
Поиск подходящих пакетов бывает очень полезен. Например, вы хотите установить xdebug, который существует для разных версий PHP, поэтому прежде чем приступить к установке нужно посмотреть что именно ставить:
brew search xdebug
Как видно, есть пакет для PHP 5.3 и PHP 5.4, нужно выборать подходяющую. Какая версия PHP у вас установлена? По-умолчанию это 5.3.x, но можно перепроверить:
php —version
Получение информации о пакете будет полезна более продвинутым пользователям, которым будет интересно посмотреть с какими параметрами можно установить пакет:
brew info git
С помощью Homebrew можно довольно быстро сделать из своего Mac’а локальный веб-сервер, как альтернативу MAMP. Одним из удобств Homebrew является то, что репозиториев пакетов может быть больше одного: помимо официального есть неофициальные (отдельно отметим homebrew-cask для установки GUI приложений), но это ни в коем случае не означает, что они хуже/лучше — они друг-друга дополняют.
Например, прежде чем вы сможете обновить php или любое другое связанное с ним расширение, тот же xdebug, нужо подключиться («тапнуть», в терминологии Homebrew) к другому репозиторию пакетов:
brew tap josegonzalez/homebrew-php
Теперь все связанные с php пакеты доступны для установки:
brew search php
Homebrew подходит не только для гиков, он пригодится всем, кто привык «выжимать» из системы максимум, кто хочет большей гибкости и меньшей возни с ручной сборкой пакетов.
В какой-то момент вы можете столкнуться с ограничением на количество обращений к API GitHub‘a.
В таком случае нужно получить по этой ссылке индивидуальный API Token и экспортировать его в HomeBrew.
export HOMEBREW_GITHUB_API_TOKEN=xxxx
xxxx — полученный вами Personal API Token.