当我尝试通过安装 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