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をインストールしても、エラーは引き続き発生します。この問題を解決する考えを持っている人はいますか?
私たちのシステムは、インストールを受け取るために最新ではない場合があります。
パッケージ情報の更新:
Sudo apt-get update
システム上のパッケージをアップグレードしますおよびプロセスで壊れたパッケージを修正します:
Sudo apt-get -f dist-upgrade
のみ壊れたパッケージを修正:
Sudo apt-get -f install
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-base
をPerl
が望むバージョンにダウングレードすることで問題を修正しました。
$ 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です。