Beberapa versi git - centos yang diinstal

8

Saya menginstal git 1.6 secara manual satu atau dua tahun yang lalu. Saya perhatikan hari ini bahwa versi 1.7 tersedia di yum, dan menginstalnya (package git-all) saya sekarang mendapatkan output berikut:

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

Adakah ide mengapa output dari whichtampaknya bertentangan dengan baris pertama di atas?

Eoghan
sumber
Saya tergoda meminta Anda untuk seperti apa $PATHvariabel Anda , tetapi seperti which gityang saya temukan, itu tidak masalah. Namun, alasannya mungkin ada di Anda $PATH?
Torbjörn
Apa yang ls -l /usr/local/bin/gitditunjukkan? Dan file /usr/local/bin/git?
Gilles 'SO- stop being evil'

Jawaban:

7

Jika Anda sudah menjalankan gitdari instance bash ini saat ada /usr/local/bin/git, itu mengingat lokasi lama dalam cache. Jalankan hash -runtuk menghapus cache. Setiap instance bash memiliki cache sendiri, jadi instance bash yang baru mulai akan terlihat di tempat yang tepat.

Jika tidak, Anda jelas memiliki file /usr/local/bin/git, dan ini dapat dieksekusi, tetapi tidak berfungsi karena pemuatnya tidak ada di sistem. Lihat Mendapatkan pesan "Tidak ditemukan" saat menjalankan biner 32-bit pada sistem 64-bit untuk kasus serupa.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Ya itu pasti cache - perilaku seperti yang diharapkan sekarang, terima kasih banyak untuk menjelaskannya!
EoghanM