Это фактическое копирование / вставка из моей оболочки:

machine:~ me$ brew install git
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.2.1.mountain_lion.bottle.tar.gz
######################################################################## 100.0%
==> Pouring git-2.2.1.mountain_lion.bottle.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
  /usr/local/Cellar/git/2.2.1: 1356 files, 32M
machine:~ me$ 
machine:~ me$ git --version
git version 1.7.10.2 (Apple Git-33)
machine:~ me$ 

Я могу закрыть Терминал и открыть его снова, но отображается та же версия Git.

Запуск which git возвращает /usr/bin/git . Если я переместу этот двоичный файл в /usr/bin/git , а затем снова запустите git --version , он вернет git version 2.2.1 , но почему установка нового Git не заменяет старый?

2 ответа2

2

Попробуйте export PATH="/usr/local/bin:$PATH" . Если это работает, добавьте его в ваш файл .bashrc

1

Я не эксперт по Mac/homebrew, но обычно получается, что при установке он просто распаковывает git в свою собственную, специфичную для версии директорию. /usr /bin /git, скорее всего, является символической ссылкой на фактический двоичный файл git в указанном каталоге конкретной версии. Все, что вам нужно будет сделать в этом случае, это удалить ссылку /usr /bin /git и воссоздать ссылку на более новый каталог. Если бы я угадал по команде, не зная вашего дерева каталогов, это было бы что-то вроде этого:

unlink /usr/bin/git
ln -s /usr/local/Cellar/git/2.2.1/bin/git /usr/bin/git

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .