OS X(或 Xcode)與 git 1.7.something 捆綁在一起,但在brew install git
(1.8.0)之後,which git
不斷返回舊的/usr/bin/git
.
這是我現在 echo $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
最後來自哪裡。
答案1
知道了。答案就在你的問題中; brew 將 git 安裝到/usr/local/git/bin
(而不是/usr/local/bin
),但由於它位於/usr/bin
您的路徑之後,因此您首先得到它。我的評論which -a git
應該已經向你指出了這個方向。
答案2
我也遇到了這個問題。
透過 homebrew 安裝 git 後,如果你運行brew doctor
,它會警告你,正如 Joe 上面提到的,系統正在運行舊的 git,因為它的安裝位置是第一位的。
但是,在同一個警告中,自製程式給出了修復它的程式碼:
$ echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
答案3
我的 Unix 習慣的一部分是~/bin
在我的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
優先於系統版本(而不是每一個自製管理的二進位檔案),並且僅用於您的 shell 會話(而不是全部從任何地方啟動的程序,包括 GUI 程式),就像符號連結一樣簡單:
ln -s /usr/local/bin/git ~/bin/git