woshidan's loose leaf

ぼんやり勉強しています。

Homebrewでgitのバージョンを上げた後、実行されるバージョンを変える

本当は、

brew uninstall git
brew update
brew install git

すればいいんだけど、慌てて後者だけやって、Homebrewの管理するディレクトリが二つできて、名前順で古い方が優先されてどうしようかな、ということに(なぜだ)。

もう少し状況をまとめると

  • 新しい方のパス /usr/local/Cellar/git/2.12.0
  • 古い方のパス /usr/local/Cellar/git/1.9.0
  • 古い方のパスはHomebrewでインストールしたコマンド用のパス /usr/local/bin/git にリンクされてる

こういう感じ。

結局

// 古い方をてきとうなディレクトリへ退避
mv /usr/local/Cellar/git/1.9.0 ./temp/git
// 新しい方ので呼び出されてくれないだろうかと期待してgit --version
$ git --version
bash: /usr/local/bin/git: No such file or directory
// なるほどリンクされた先のパスのファイルはさっき消したのでそれはそうですね
// いまは一つしかgitいないし、新しい方のgitが使われるだろうから brew linkすればいいのかな
$ brew link git
Linking /usr/local/Cellar/git/2.12.0... 419 symlinks created
$ git --version
git version 2.12.0
// 古い方はいらないので消す
$ rm -rf ~/temp/git

なまら面白かったので単純に日記が書きたかった…