インストールされている複数のバージョンのGit-CentOS


8

1年か2年前にgit 1.6を手動でインストールしました。今日、1.7バージョンがyumで利用可能であることに気付き、それをインストールしました(パッケージgit-all)次の出力を取得します。

[root@ovz5197 ~]# git --version
bash: /usr/local/bin/git: No such file or directory
[root@ovz5197 ~]# which git
/usr/bin/git
[root@ovz5197 ~]# /usr/bin/git --version
git version 1.7.4.1
[root@ovz5197 ~]# 

の出力がwhich上記の最初の行と矛盾しているように見える理由は何ですか?


私はあなたにあなたの$PATH変数がどのように見えるかを尋ねるように誘惑されましたwhich gitが、それを見つけるので、それは大丈夫でなければなりません。しかし、理由はあなたの中にあるかもしれません$PATHか?
Torbjörn

何がls -l /usr/local/bin/git表示されますか?そしてfile /usr/local/bin/git
Gilles「SO-邪悪なことをやめよう」

回答:


7

gitがあったときにbashのこのインスタンスから既に実行していた場合/usr/local/bin/gitは、キャッシュ内の古い場所を記憶しています。実行hash -rしてキャッシュをクリアします。bashの各インスタンスには独自のキャッシュがあるため、新しく開始されたbashのインスタンスは適切な場所を探します。

それ以外の場合は、明らかにファイルがあり/usr/local/bin/git、実行可能ですが、ローダーがシステムに存在しないため、ファイルは機能しません。同様のケースについては、64ビットシステム32ビットバイナリを実行しているときに「見つかりません」というメッセージが表示されるをご覧ください。


はい、それはキャッシュであったに違いありません-動作は今期待どおりです、説明してくれてありがとう!
EoghanM 2011
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.