无法在 Ubuntu 16.04 LTS 上安装 Git

无法在 Ubuntu 16.04 LTS 上安装 Git

当我尝试在 Ubuntu 16.04 上安装 Git 时,出现错误。我用来安装 git 的命令是:

sudo apt-get install git

我遇到的错误是:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
  git : Depends: liberror-perl but it is not going to be installed
        Depends: git-man (> 1:2.7.4) but it is not going to be installed
        Depends: git-man (< 1:2.7.4-.) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or
specify a solution).

即使我使用建议的命令 (apt-get -f install) 安装 git,错误仍然存​​在。有谁知道如何解决这个问题吗?

答案1

有时我们的系统可能不是最新的,无法接收安装,因此我们可以使用以下方法更新:

  • 更新包信息:

    sudo apt-get update
    
  • 系统上的升级包修复过程中损坏的软件包:

    sudo apt-get -f dist-upgrade
    
  • 仅有的修复损坏的软件包:

    sudo apt-get -f install
    

答案2

liberror-perl我在尝试安装时遇到了同样的问题git。其他答案(sudo apt-get update && sudo apt-get dist-upgrade && apt-get -f install)对我不起作用。

通过尝试直接安装每个包来手动跟踪依赖关系问题链,看起来问题出在perl-base

$ sudo apt install liberror-perl
  liberror-perl : Depends: perl but it is not going to be installed

$ sudo apt install perl
  perl : Depends: perl-base (= 5.22.1-9) but 5.22.1-9ubuntu0.5 is to be installed

$ sudo apt install perl-base
  perl-base is already the newest version (5.22.1-9ubuntu0.5).

因此,该perl软件包依赖于过时的 perl-base 版本。我不确定这是怎么造成的,但我怀疑曾经有较新的版本可用,可能是来自一个临时的 apt 源,后来从我的系统中删除了。我通过降级perl-base到想要的版本解决了这个问题perl

$ sudo apt install -f perl-base=5.22.1-9

之后,git 安装正常。为了以防万一有更新的 perl-base 版本可用,我尝试升级它,但上述版本也是最新版本:

$ sudo apt install perl-base=\*
perl-base is already the newest version (5.22.1-9).
Selected version '5.22.1-9' (Ubuntu:16.04/xenial [amd64]) for 'perl-base'

据我所知,这不会造成任何问题,但是 YMMV。

相关内容