我有一个 CentOS 7 系统。它安装了 git 2.27.0,但由于我们无法弄清楚的原因,该安装不会与我们的 https gitlab 实例对话。它一直在“无法找到'https'的远程助手”上失败。
所以,我尝试使用“sudo yum upgrade git”来升级 git,它声称没有安装 git 包。但是如果我执行“git --version”,我会得到“git version 2.27.0”。“whereis git”给了我“git:/usr/local/bin/git”。如果我执行“sudo yum remove git”,我会得到“参数不匹配:git,没有标记为删除的包”。
我已经尝试过安装 git,它可以正常工作。如,我的系统上安装了一个新的 git 实例;我收到很多消息说安装工作正常并且安装了 git 2.31.1。但是如果我做 git 版本,我会再次得到 2.27.0。如果我再次删除 git,它会删除我的 2.31.1 版本,并保留 2.27.0。但是,百胜再次声称它并不存在。$PATH 在 /usr/bin 之前有 /usr/local/bin。我假设它正在 /usr/bin 中安装较新的副本,然后完全忽略 /usr/local/bin 中已经存在的副本。
那么,有没有办法告诉 yum 删除 /usr/local/bin 的副本?因为当我尝试执行“sudo yum remove /usr/local/bin/git”时,我得到“参数不匹配:/usr/local/bin/git”。
git 在文件夹中的事实
/usr/local/bin
表明它没有通过系统包管理安装。可能是源码编译的,也可能是安装方式不同,无从得知。
如果它已从源代码编译和安装,并且源代码仍在系统上,您可以使用
make uninstall
源文件夹中的方法将其删除。如果不是,您将不得不手动删除属于该 git install 的每个文件(或至少删除 git 二进制文件并忽略您的系统上有更多孤立文件)。您最好的机会是询问安装它的人。
您可以使用包管理器安装 git。它应该取代旧安装,或者您应该能够通过调整路径变量中 bin 目录的顺序使其成为“主要”安装。