OS X (или Xcode) поставляется в комплекте с git 1.7.something, но после brew install git
(1.8.0) which git
продолжает возвращать старый /usr/bin/git
.
Это то, что я получаю, когда я сейчас получаю $ PATH:
/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin
Разве доморощенные вещи не должны иметь приоритет?
Кроме того, я не знаю, откуда это usr/local/git/bin
в конце.
ls /usr/local/bin
шоуgit
есть. Brew также подтверждает, что он установлен. Я даже запустил деинсталлятор git (brew uninstall
используя и ту, которая поставляется с официальной загрузкой git) и переделалbrew install git
. Я продолжаю получатьwhich git = = /usr/bin/git"
.which -a git
чтобы увидеть, находит ли он это вообще.Ответы:
Понял. Ответ в вашем вопросе; brew устанавливает git в
/usr/local/git/bin
(не/usr/local/bin
), но так как это после/usr/bin
вашего пути, вы получите его первым. Мой комментарийwhich -a git
должен был указать вам в этом направлении.источник
ls -l /usr/local/bin/git
тоже. Могу поспорить, что это символическая ссылка на/usr/bin/git
./usr/local/git/bin
кажется, это то, где официальный установщик помещает это тоже./etc/paths
и на то/etc/paths.d
же самое.which -a git
возвращается/usr/local/bin/git; /usr/bin/git; /usr/local/bin/git
. Поэтому я переименовал старый Gitusr/bin/git_old
и убрал его с дороги. Теперьgit --version
возвращает 1.8, доказывая, что brew успешно установил git. - Опять я переименовал/usr/bin/git
в его первоначальное имя ... и вдруг он работает правильно! Я не знаю почему или как, но переименование/usr/bin/git
и запуск git однажды, похоже, решили проблему. Кто знает в чем корень проблемы. В любом случае, спасибо :)Я также столкнулся с этой проблемой.
После установки git через homebrew, если вы запустите
brew doctor
его, он предупредит вас, что, как упоминал Джо, система запускает старый git, потому что его место установки на первом месте.Но, в том же предупреждении, доморощенный дает код, чтобы исправить это:
источник
Это было частью моих привычек Unix иметь
~/bin
каталог, который я положил в начале своегоPATH
. Это один из первых битов в моем.bashrc
:Имея это в виду, выборочное назначение только того, что управляется Homebrew,
git
имеет приоритет над версией системы (вместо каждого двоичного файла, управляемого Homebrew), и только для ваших сессий оболочки (вместо всех программ, запускаемых откуда угодно, включая программы с графическим интерфейсом), так просто, как символические ссылки:источник