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
が最後にどこから来ているのかわかりません。
とった。答えはあなたの質問にあります。 brewはgitを/usr/local/git/bin
(/usr/local/bin
ではない)にインストールしますが、それはパスの/usr/bin
の後にあるので、最初にそれを取得します。 which -a git
に対する私のコメントは、あなたをこの方向に向けるべきでした。
私もこの問題に遭遇しました。
Homebrewを介してgitをインストールした後、brew doctor
を実行すると、Joeが前述したように、インストール場所が最初に来るため、システムが古いgitを実行していることを警告します。
しかし、同じ警告で、homebrewはそれを修正するためのコードを提供します:
$ echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
PATH
の先頭に~/bin
ディレクトリを置くことは私のUnixの習慣の一部です。これは私の.bashrc
の最初のビットの1つです。
case ":$PATH:" in
*:$HOME/bin:*) ;; # do nothing if $PATH already contains $HOME/bin
*) PATH=$HOME/bin:$PATH ;; # in every other case, add it to the front
esac
それが整ったら、Homebrewが管理するgit
だけを選択的にシステムバージョンよりも優先させ(every Homebrewが管理するバイナリではなく)、シェルセッションだけを優先します(代わりに) of all GUIプログラムを含むどこからでも開始されるプログラムは、それをシンボリックリンクするのと同じくらい簡単です:
ln -s /usr/local/bin/git ~/bin/git