“哪个”在骗我?

Jos*_*der 4 ubuntu git path

我通过 git 安装了 git apt-get,但发现版本已经过时了,所以我然后从 source 安装了 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
Run Code Online (Sandbox Code Playgroud)

这似乎which是在骗我……这似乎不太可能。这里实际发生了什么,我如何才能直接调用 git 来运行正确的版本?

Der*_*rfK 14

which说的是实话。你的壳在骗你。

git is hashed (/usr/bin/git)
Run Code Online (Sandbox Code Playgroud)

意味着你的 shell 已经缓存了“git”的这个位置,并且正在使用缓存的路径而不是再次搜索 $PATH。使用hash -r清除缓存,使外壳搜索$ PATH在新的git/usr/local/bin/git