web-dev-qa-db-ja.com

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をインストールしても、エラーは引き続き発生します。この問題を解決する考えを持っている人はいますか?

5
Chamber

私たちのシステムは、インストールを受け取るために最新ではない場合があります。

  • パッケージ情報の更新:

    Sudo apt-get update
    
  • システム上のパッケージをアップグレードしますおよびプロセスで壊れたパッケージを修正します:

    Sudo apt-get -f dist-upgrade
    
  • のみ壊れたパッケージを修正:

    Sudo apt-get -f install
    
6
George Udosen

gitをインストールしようとすると、liberror-Perlで同じ問題が発生しました。他の回答(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ベースに依存しています。それがどのように発生したのかはわかりませんが、一時的に新しいバージョンが利用可能になったのではないかと疑っています。おそらく一時的なaptソースが後でシステムから削除されたためです。 Perl-basePerlが望むバージョンにダウングレードすることで問題を修正しました。

$ Sudo apt install -f Perl-base=5.22.1-9

その後、gitは適切にインストールされます。新しいPerlベースバージョンが利用できる場合に備えて、アップグレードを試みましたが、上記のバージョンは最新バージョンでもありました。

$ 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です。

1
Ferry Boender