Обновление программ с помощью HomeBrew

#mac #soft #tips

Обратил внимание на то, что Git в системе имеет версию 1.7.4.4, в то время как на официальном сайте уже 1.7.9, и число изменений довольно большое. Разумеется возник вопрос, каким образом можно обновить программное обеспечение, не ломая систему??

Как оказалось, все довольно просто. Достаточно для установки программ использовать homebrew . Для того, чтобы установить Homebrew достаточно в терминале (не эмулятор терминала, типа Emacs Shell) дать следующую команду:

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"

После установки все операции будут доступны с помощью команды brew, к примеру, чтобы установить Git необходимо дать команду:

$ brew install git

Обратите внимание на то, что команда не использует права суперпользователя и для запуска не требует sudo. Установка производиться из официальных репозиториев программ, согласно прописанным формулам. Таким образом довольно просто оказывается поддерживать систему в актуальном состоянии. Достаточно иногда выполнять обновление формул и установленных программ:

$ brew update && brew upgrade

Для того, чтобы оставить только текущую, то есть актуальную версию программы, а остальные удалить, достаточно использовать команду:

$ brew cleanup

До вчерашнего дня я использовал homebrew для установки только тех программ, что не было в самой системе. Поэтому и запуск программ не составлял каких-то проблем. Когда же попытался установить Git, столкнулся с тем, что у меня запускается та версия, что стоит в системе, а установленная мною версия просто игнорируется.

Потом вспомнил про правила использования переменной PATH, если программа встречается в определенной директории, описанной в этой переменной, то дальнейший поиск прекращается. И я решил просто изменить эту переменную, включив директории homebrew ПЕРЕД остальными директориями. В файл .zshrc прописал следующую строку:

export PATH=/usr/local/bin:/usr/local/sbin:$PATH

Может быть это и не правильный путь, но теперь у меня в консоли запускаются именно те программы, что были установлены с помощью homebrew. Система же осталась не тронутой.