Я столкнулся с очень странной проблемой при попытке использовать последнюю версию git, которую я только что установил через homebrew. Git which git
указывает мне на установку homebrew, но при вызове git
возвращается исходная версия, установленная с OS X.
Сначала я проверил оригинальную версию, на которой я был.
[user@home ~]$ git --version
git version 1.8.5.2 (Apple Git-48)
Затем я зашел в Homebrew, чтобы установить последнюю версию.
[user@home ~]$ brew install git
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.0.0.mavericks.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring git-2.0.0.mavericks.bottle.2.tar.gz
==> Caveats
The OS X keychain credential helper has been installed to:
/usr/local/bin/git-credential-osxkeychain
The 'contrib' directory has been installed to:
/usr/local/share/git-core/contrib
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
zsh completion has been installed to:
/usr/local/share/zsh/site-functions
==> Summary
решение1
Оболочки поддерживают кэш путей, где исполняемые файлы были найдены в $PATH
переменной. Поэтому он кэшировался, /usr/bin/git
а не /usr/local/bin/git
, поскольку последний не существовал, когда ваша оболочка запускалась. Запуск hash -r
в Bash из вашего текущего терминала очистит этот кэш, затем первый экземпляр, найденный в , $PATH
должен быть тем, который выполняется.
решение2
У меня точно такая же проблема. Вот мое решение.
brew uninstall git
# make sure everything is alright, maybe brew will give you some hint
brew doctor
brew update
brew install git
# magic happen, brew will give you hint /usr/bin occurs before /usr/local/bin
# and recommend you run following command
brew doctor
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
После этого вы закончите, однако вы не сможете увидеть никаких изменений при запуске git --version
. Просто выйдите из системы и войдите снова, запустите git --version
снова.
решение3
При использовании homebrew для обновления git на вашем компьютере выполните следующие действия:
brew doctor
Исправьте предложенные проблемы
brew update
если доступна более новая версия homebrew
brew install git
чтобы загрузить и установить последнюю версию git
бег brew doctor
даст вам знать, что
Предупреждение: У вас в погребе есть несвязанные кеги
выполнение brew link git
приведет к ошибке
Ошибка: Не удалось создать символическую ссылку bin/git
Цель /usr/local/bin/git уже существует. Возможно, вы захотите удалить ее:
rm '/usr/local/bin/git'
brew link --overwrite git
чтобы перезаписать символическую ссылку и указать на установленный git brew.
решение4
Моя проблема была в том, что у меня было установлено приложение Mac GitHub. /usr/local/bin/git
указывало на версию git приложения, а не на версию Homebrew. Удаление приложения GitHub решило проблему для меня.