Правильно. /usr/local/bin
или эквивалентный ему необходимо добавить в PATH
, потому что именно там brew
устанавливает программное обеспечение. Кроме того, он должен быть впереди любого каталога, в котором находится Git по умолчанию. (Примечание: я собираюсь пройти через это медленно, просто чтобы немного погрузить вас в мир Unix.)
Прежде чем сделать шаг, чтобы исправить PATH, сделайте это в Terminal:
which git
и посмотрите, в каком каталоге находится Git. Это каталог, который вы должны побить. Также введите это:
echo $SHELL
Надеюсь, вы увидите «/bin/bash», так как это то, что я собираюсь предположить, что вы используете. Если нет, дайте нам знать.
Самое простое, что можно попробовать - просто поместить /usr/local/bin
в начало PATH. Это традиционно делается в конфигурационном файле для вашей оболочки, который запускается при запуске терминала. Для оболочки bash это ~/.bash_profile
(где ~
- псевдоним вашего домашнего каталога). Создайте там текстовый файл, если у вас его еще нет, и добавьте следующую строку:
export PATH=/usr/local/bin:$PATH
(Примечание: используйте здесь обычный текстовый редактор, такой как TextWrangler или Xcode или редактор вашего любимого программиста, вместо TextEdit, который любит сохранять файлы RTF.)
':' Разделяет каталоги в переменной PATH, а $PATH
расширяется до текущего (до назначения) определения этой переменной среды. В итоге эта команда добавляет /usr/local/bin
к вашей переменной PATH, а затем экспортирует обновленную переменную PATH в вашу среду, чтобы другие программы, запущенные из оболочки, могли видеть и использовать обновленную переменную PATH. (Примечание: все в порядке, если /usr/local/bin
появится позже в PATH. Вы можете удалить вторую копию и установить для PATH полностью измененное значение, если вы решите сохранить /usr/local/bin
заранее.)
Сохраните этот файл, выйдите из терминала и перезапустите его. Создайте новое окно терминала и введите:
echo $PATH
Теперь вы должны увидеть /usr/local/bin
на передней панели. Запустите git --version
и убедитесь, что вы видите версию, которую ожидаете.
Сделав это, что может пойти не так? Ну, в некоторых случаях вы, возможно, установили что-то в /usr/local/bin
которое не так стабильно, как ваши стандартные системные приложения, и поэтому вы не хотите, чтобы все в этом каталоге имело приоритет над стандартным PATH. Если это произойдет с вами, обычное решение - создать новый каталог, в котором есть только ссылки на конкретные программы, которые вы хотите найти перед стандартными системными программами в поиске:
- создать новый каталог, например
~/bin
- поместите этот каталог перед PATH вместо
/usr/local/bin
- в Терминале запустите
ln -s /usr/local/bin/git ~/bin/git
чтобы создать символическую ссылку под названием git
в новом каталоге, указывающую на git
который установлен brew
. (Символические ссылки сродни "ярлыкам" в мире Windows, если вы знакомы с ними.)
- Выйдите и перезапустите Терминал, и убедитесь, что при запуске
git
выбирается нужная программа .
Следует также отметить, что существует более продвинутый, специфичный для Mac способ настройки PATH. Это включает создание / изменение вашей конфигурации environment.plist
. Чтобы сделать это, сначала определите полный путь (т.е. не включая предыдущие определения $PATH
), который вам нужен:
echo $PATH
После этого запустите это:
defaults write ~/.MacOSX/environment PATH ...
где ...
заменяется на любой путь, который вы хотите использовать по умолчанию для всей системы. Поместите ваш каталог в начало (/usr/local/bin
или что-то еще), не забывайте ':' и скопируйте / вставьте значение PATH echo'd в конце. Затем, чтобы убедиться, что ваша конфигурация Mac и ваша конфигурация оболочки находятся на одной странице, перейдите в ~ / .bash_profile, и там, где у вас ранее была строка export PATH
, сделайте это вместо:
export PATH=`defaults read ~/.MacOSX/environment.plist PATH`
Вот как я настроил PATH на своем Mac.
Зачем переживать все эти неприятности? Потому что, в отличие от PATH, определенного в ~/.bash_profile
, это значение по умолчанию можно увидеть в приложениях с графическим интерфейсом, которые запускаются Finder или Spotlight. Однако для операций Git вы будете запускаться из командной строки, вам это не понадобится. Кроме того, многим приложениям с графическим интерфейсом, использующим Git, также может быть предоставлен абсолютный путь (/usr/local/bin/git
) к программе Git, если они должны ее запустить. Таким образом, вы могли бы уйти без необходимости прыгать через эти дополнительные пару обручей. Но теперь вы знаете хитрость, на случай, если это станет необходимым позже.
Счастливого взлома Git!