"Что" врет мне?
Я установил git через apt-get
, но обнаружил, что версия безнадежно устарела, поэтому я установил git из исходного кода. Конечный результат довольно загадочный:
$ git --version
git version 1.7.0.4
$ which git
/usr/local/bin/git
$ /usr/local/bin/git --version
git version 1.7.6
Похоже, что which
лжет мне... что кажется маловероятным. Что на самом деле здесь происходит, и как я могу получить простой вызов git для запуска правильной версии?
2 ответа
Решение
which
говорит правду. Твоя раковина врет тебе.
git is hashed (/usr/bin/git)
означает, что ваша оболочка кэшировала это местоположение "git" и использует кэшированный путь, а не ищет $PATH снова. использование hash -r
очистить кеш и заставить оболочку искать $PATH для нового git в /usr/local/bin/git
Вы создали псевдоним для git в вашей оболочке?
$ alias git="/bin/echo This is not the git you are looking for"
$ which git
/usr/bin/git
$ git --version
This is not the git you are looking for --version
$ /usr/bin/git --version
git version 1.7.4.1
$ type git
git is aliased to `/bin/echo This is not the git you are looking for'
$ unalias git
$ type git
git is /usr/bin/git
$ git --version
git version 1.7.4.1