Homebrew をインストールした git が使用できない

Homebrew をインストールした git が使用できない

Homebrew 経由でインストールしたばかりの最新バージョンの git を使用しようとすると、非常に奇妙な問題が発生します。Homebrewwhich gitインストールを指し示していますが、呼び出すとgitOS X でインストールされた元のバージョンが返されます。

まず、自分が使用していた元のバージョンを確認しました。

[user@home ~]$ git --version
git version 1.8.5.2 (Apple Git-48)

次に、Homebrew にアクセスして最新バージョンをインストールしました。

[user@home ~]$ brew install git
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.0.0.mavericks.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring git-2.0.0.mavericks.bottle.2.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

答え1

シェルは、変数内で実行可能ファイルが見つかったパスのキャッシュを保持します$PATH。そのため、/usr/bin/gitではなく がキャッシュされます/usr/local/bin/git。これは、シェルの起動時に が存在しなかったためです。hash -r現在の端末から Bash を実行すると、このキャッシュがクリアされ、 で見つかった最初のインスタンス$PATHが実行されるはずです。

答え2

私もまったく同じ問題を抱えていました。これが私の解決策です。

brew uninstall git
# make sure everything is alright, maybe brew will give you some hint
brew doctor
brew update  
brew install git
# magic happen, brew will give you hint /usr/bin occurs before /usr/local/bin
# and recommend you run following command
brew doctor
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile

その後は完了ですが、実行しても変更は確認できませんgit --version。ログアウトして再度ログインし、git --version再度実行してください。

答え3

Homebrew を使用してマシン上の git を更新する場合は、次の手順に従います。

brew doctor

提案された問題を修正する

brew update新しいバージョンのHomebrewが利用可能かどうか

brew install gitgitの最新バージョンをダウンロードしてインストールする

走ればbrew doctorわかる

警告: セラーにリンクされていない樽があります

実行するとbrew link gitエラーが発生します

エラー: bin/git のシンボリックリンクを作成できませんでした

ターゲット /usr/local/bin/git はすでに存在します。削除することをお勧めします:

rm '/usr/local/bin/git'

brew link --overwrite gitシンボリックリンクを上書きし、インストールされた git brew をポイントします。

答え4

私の問題は、Mac GitHub アプリがインストールされていたことです。Homebrew/usr/local/bin/gitバージョンではなく、アプリのバージョンの git を指していました。GitHub アプリをアンインストールすると、問題は解決しました。

関連情報