Все менеджеры пакетов в Unix имеют определенные недостатки и большинство Linux-дистрибутивов пытаются по-разному эти недостатки обойти. В этом посте я расскажу про Homebrew — новый менеджер пакетов, нацеленный на простоту использования.
До Homebrew было несколько различных попыток создать эффективные пакетные менеджеры для OS X. Две наиболее популярные вылились в итоге в Fink и Macports, но у каждой из них все равно есть свои острые углы. В частности, в обоих создание своих пакетов или портов является черезчур сложным.
В Homebrew создавать новые пакеты и работать с ними проще пареной репы. Давайте посмотрим.
Что оно делает?
Основная мысль очень проста. Homebrew упрощает и автоматизирует монотонные действия по скачиванию и сборке пакетов. Если вам надоели бесконечные ./configure make make install , Homebrew поможет.
Зачем оно?
Как я уже заметил выше, для OS X уже есть два решения: Fink и MacPorts. Если какое-то из них у вас уже установлено и всем устраивает — отлично. Но если вы имели неудачный опыт с ними в прошлом, я сильно рекомендую попробовать Homebrew. С ним намного проще. Плюс, его легко модифицировать, ведь он состоит всего из нескольких сотен строк кода на Ruby.
Установка программ через Homebrew в Terminal (МакЛикбез)
Homebrew не навязывает никакой строгой структуры и путей. По-умолчанию, он устанавливается в /usr/local , но его можно поставить куда угодно. Все пакеты устанавливаются в директории в специальном «подвале» (cellar), например Cellar/git/1.6.5.4/ . После установки Homebrew делает симлинки в стандартные Unix-директории. Ручная установка каких-то пакетов не из Homebrew отлично уживается с ними.
Это редко может понадобиться, но пакеты можно ставить напрямую из систем контроля версий. Если у пакета есть публичный git, svn, cvs или mercurial репозиторий, всегда можно собрать самую свежую devel-версию прямо оттуда простым brew install .
Кстати, установка занимает меньше времени, поскольку Homebrew старается избегать дублирования пакетов. Например, она не ставит очередную версию Perl в качестве зависимости, поскольку в системе уже есть готовый и работающий Perl. Плюс, Homebrew задуман так, чтобы вам не приходилось использовать sudo при работе с пакетами.
Звучит неплохо. Как это установить?
Первая и единственная зависимость Homebrew — OS X Developer Tools, которые есть на любом установочном диске с OS X и доступны для бесплатного скачивания с сайта Apple.
Самое простое — установить в /usr/local . Это можно сделать весьма просто:
# Присваиваем папку /usr/local себе, чтобы не использовать sudo
sudo chown -R `whoami` /usr/local
# Чиним права на mysql, если он у вас установлен
sudo chown -R mysql:mysql /usr/local/mysql
# Скачиваем и устанавливаем Homebrew с гитхаба
curl -L github.com/mxcl/homebrew/tarball/master | tar xz —strip 1 -C /usr/local
Все, установка завершена. Давайте проверим что все работает:
brew install wget
brew info git
Homebrew | Как установить и начать пользоваться?
На сайте Homebrew есть wiki, где можно почитать всякого интересного про интеграцию с Rubygems, CPAN и Python EasyInstall.
Следить за обновлениями Homebrew тоже достаточно просто:
brew install git
brew update
Если у вас установлен git, вы можете в любой момент обновлять репозитории Homebrew и устанавливать последнии версии пакетов.
Создавать свои пакеты почти так же просто. Например, если бы в Homebrew не было бы пакета для wget, его создание выглядело бы примерно так:
brew create ftp.gnu.org/gnu/wget/wget-1.12.tar.bz2
После сохранения пакета, его можно протестировать: brew install -vd wget . Если что-то работает неправильно и вам нужна помощь по настройке пакета, на wiki есть много документации. Еще там можно посмотреть примеры создания таких пакетов как git или flac.
Если вы создали новый пакет и желаете поделиться им с сообществом, это тоже достаточно просто сделать с помощью гема github.
gem install json github
git add .
git commit -m «Added a formula for wget»
github fork
git push mastergitx
После того, как вы сделаете push, нужно в Homebrew issue tracker создать новый тикет с темой «New formula: ». Если там все в порядке, ваш пакет будет добавлен в главный репозиторий Homebrew и доступен всем пользователям.
Итоги
Homebrew — достойная альтернатива Fink и MacPorts. Он сам и все скрипты пакетов написанны на Ruby, поэтому добавлять новые фичи и пакеты весьма несложно. Если вам нужен гибкий и удобный пакетный менеджер, попробуйте Homebrew, и, думаю, вы будете приятно удивлены.
Источник: habr.com
Где я могу найти путь к установленному пакету через brew
Я установил несколько пакетов через Brew. Но я не могу найти, где они.
Я не могу получить доступ, набрав hping на терминале
% brew install hping (git)-[master] Warning: hping-3.20051105 already installed
Мой hping установлен в /usr/local/Cellar/hping/3.20051105/sbin/hping
У меня была такая же проблема daemonize , этот ответ помог мне понять, что демон установлен в /usr/local/sbin том, чего не было в PATH
Используйте следующую команду, чтобы показать путь установки пакета:
brew info hping
pcre: stable 8.35 (bottled) http://www.pcre.org/ /usr/local/Cellar/pcre/8.35 (146 files, 5.8M) * Poured from bottle From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/pcre.rb ==> Options —universal Build a universal binary
Можно ли получить только путь? В моем случае я хочу использовать clang из llvm, и после «brew install llvm» все еще остается apple, но мне нужен один из двоичных файлов llvm.
Кстати, brew doctor может помочь вам понять проблемы, а также.
/ usr / local / Cellar является местоположением по умолчанию в OS X. Там вы увидите подкаталоги для всех установленных формул .
Чтобы выяснить, где установлена ваша формула, выполните brew —prefix hping
Вы также можете заново связать свой hping бинарный файл, выполнив brew unlink hping brew link hping
Также, возможно, ваш $PATH не очень хорошо определен. Содержит ли данный список echo $PATH результат, полученный с помощью echo $(brew —prefix)’/bin:’$(brew —prefix)’/sbin’ ? Этот путь должен быть в начале списка, чтобы иметь приоритет над системными двоичными файлами, конечно, раньше /usr/bin .
Для этого вы можете добавить это в конце вашего ~/.zshrc или ~/.bashrc :
export PATH=$(brew —prefix)/bin:$(brew —prefix)/sbin:$PATH
В результате, после открытия нового терминала или выполнения source ~/.zshrc , вы сможете отобразить ваш правильный путь как:
$ echo $PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
Источник: qastack.ru
Как узнать, где на Mac установлены пакеты Homebrew
Вы когда-нибудь задумывались, куда Homebrew помещает двоичные файлы из пакетов brew, установленных на Mac? Если вы пользуетесь Homebrew, вам может быть интересно узнать, где Homebrew все размещает и где найти установленные пакеты brew в Mac OS.