一两年前我手动安装了 git 1.6。今天我注意到 yum 中有 1.7 版本,并安装了它(包 git-all),现在我得到以下输出:
[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 ~]#
知道为什么 的输出which
似乎与上面的第一行相矛盾吗?
答案1
git
如果当存在 时您已经从 bash 的这个实例运行/usr/local/bin/git
,它会记住缓存中的旧位置。运行hash -r
以清除缓存。每个 bash 实例都有自己的缓存,因此新启动的 bash 实例将在正确的位置查找。
否则,您显然有一个 file /usr/local/bin/git
,并且它是可执行的,但它不起作用,因为系统上不存在其加载程序。看在 64 位系统上运行 32 位二进制文件时收到“未找到”消息对于类似的情况。