Plusieurs versions installées de git - centos

8

J'ai installé manuellement git 1.6 il y a un an ou deux. J'ai remarqué aujourd'hui que la version 1.7 est disponible en yum, et l'ai installée (package git-all) j'obtiens maintenant la sortie suivante:

[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 ~]# 

Une idée pourquoi la sortie de whichsemble contredire la première ligne ci-dessus?

EoghanM
la source
J'ai été tenté de vous demander à quoi ressemble votre $PATHvariable, mais comme which gitc'est le cas, elle devrait être correcte. Cependant, la raison pourrait être dans votre $PATH?
Torbjörn
Que ls -l /usr/local/bin/gitmontre-t-on? Et file /usr/local/bin/git?
Gilles 'SO- arrête d'être méchant'

Réponses:

7

Si vous aviez déjà exécuté à gitpartir de cette instance de bash quand il y en avait un /usr/local/bin/git, il se souvient de l'ancien emplacement dans un cache. Exécutez hash -rpour vider le cache. Chaque instance de bash a son propre cache, donc les instances de bash nouvellement démarrées chercheront au bon endroit.

Sinon, vous avez évidemment un fichier /usr/local/bin/git, et il est exécutable, mais cela ne fonctionne pas car son chargeur n'est pas présent sur le système. Voir Obtenir le message "Introuvable" lors de l'exécution d'un binaire 32 bits sur un système 64 bits pour un cas similaire.

Gilles 'SO- arrête d'être méchant'
la source
Oui, cela devait être un cache - le comportement est comme prévu maintenant, merci beaucoup pour l'explication!
EoghanM