![由于未满足依赖关系,无法在 Ubuntu 18.04 上安装与 git 相关的软件包](https://linux22.com/image/1161826/%E7%94%B1%E4%BA%8E%E6%9C%AA%E6%BB%A1%E8%B6%B3%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB%EF%BC%8C%E6%97%A0%E6%B3%95%E5%9C%A8%20Ubuntu%2018.04%20%E4%B8%8A%E5%AE%89%E8%A3%85%E4%B8%8E%20git%20%E7%9B%B8%E5%85%B3%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85.png)
当我尝试通过安装 gitk 时,
sudo apt install gitk
我得到了输出
...
The following packages have unmet dependencies:
gitk : Depends: git (< 1:2.17.1-.)
E: Unable to correct problems, you have held broken packages.
我尝试使用以下命令安装旧版本的 git
sudo apt install git=1:2.17.0-1ubuntu1
产生输出
...
The following packages have unmet dependencies:
git : Depends: git-man (< 1:2.17.0-.) but 1:2.18.0-0ppa1~ubuntu16.04.1 is to be installed
E: Unable to correct problems, you have held broken packages.
我不明白为什么当我在命令中指定要安装的旧版本时,它却说要安装 2.18。我的操作系统是 Ubuntu 18.04,我的 git 当前版本是 2.18.0。我该如何解决这个问题?
答案1
您正在使用的 PPA 也提供git
。这导致您看到的版本混乱,从而阻止安装。
根据您的评论,您删除了/etc/apt/sources.list.d/git-core-ubuntu-ppa-xenial.list
然后运行了sudo add-apt-repository ppa:git-core/ppa
。一旦发生这种情况,您的apt-get update
和apt-get upgrade
就可以正常工作。
答案2
问题:您的源git-core
与sources.list.d
您的 Ubuntu 版本不匹配。
解决方案:
- 从中找出你的发行名称列表
- 找到有冲突的 ppa(
git-core
与您的发布名称不匹配的 ppa)。
ls /etc/apt/sources.list.d | grep git-core
- 删除有冲突的 ppa
rm /etc/apt/sources.list.d/git-core-ubuntu-ppa-<wrong_release_name>.list`
- 为 git-core 重新安装正确的 ppa
sudo add-apt-repository ppa:git-core/ppa
- 更新和升级
sudo apt-get update
sudo apt-get upgrade