Ich habe git 1.6 vor ein oder zwei Jahren manuell installiert. Ich habe heute festgestellt, dass die Version 1.7 in yum verfügbar ist, und habe sie installiert (Paket git-all). Ich erhalte jetzt die folgende Ausgabe:
[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 ~]#
Irgendeine Idee, warum die Ausgabe von which
der ersten Zeile oben zu widersprechen scheint?
$PATH
Variable aussieht, aber wiewhich git
es sich herausstellt, sollte es in Ordnung sein. Der Grund könnte jedoch in Ihrem liegen$PATH
?ls -l /usr/local/bin/git
zeigt? Undfile /usr/local/bin/git
?Antworten:
Wenn Sie
git
diese Instanz von Bash bereits ausgeführt haben, als es eine gab/usr/local/bin/git
, wird der alte Speicherort in einem Cache gespeichert. Führen Sie aushash -r
, um den Cache zu leeren. Jede Bash-Instanz verfügt über einen eigenen Cache, sodass neu gestartete Bash-Instanzen an der richtigen Stelle angezeigt werden.Andernfalls haben Sie offensichtlich eine Datei
/usr/local/bin/git
, die ausführbar ist, aber nicht funktioniert, da der Loader nicht auf dem System vorhanden ist. Siehe Erste Meldung „Nicht gefunden“ , wenn auf einem 64-Bit - System mit einem 32-Bit - Binär - Laufe für einen ähnlichen Fall.quelle