OS X (または Xcode) には git 1.7.something がバンドルされていますが、brew install git
(1.8.0)以降ではwhich git
古い が返され続けます/usr/bin/git
。
現在 $PATH を echo すると、次の結果が表示されます。
/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin
Homebrew のものを優先すべきではないでしょうか?
usr/local/git/bin
また、最後にそれがどこから来るのか全く分かりません。
答え1
分かりました。答えはあなたの質問の中にあります。brew は git を/usr/local/git/bin
( ではなく) にインストールしますが、パス内で の/usr/local/bin
後にあるため、最初に を取得します。 に対する私のコメントは、この方向を指し示しているはずです。/usr/bin
which -a git
答え2
私もこの問題に遭遇しました。
homebrew 経由で git をインストールした後、 を実行すると、brew doctor
Joe が上で述べたように、インストール場所が最初に来るため、システムが古い git を実行しているという警告が表示されます。
しかし、同じ警告の中で、homebrew はそれを修正するためのコードを提供します:
$ echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
答え3
~/bin
私の Unix の習慣の一部として、 の先頭にディレクトリを置くことがありますPATH
。これは、私の の最初の部分の一部です.bashrc
。
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
システムバージョンよりも優先するように選択すると(毎Homebrew管理バイナリ)とシェルセッションのみ(全てGUI プログラムを含む、どこからでもプログラムを起動できるようにするには、シンボリックリンクを作成するだけです。
ln -s /usr/local/bin/git ~/bin/git