Linux

Ubuntu 18.04 (WSL) で curl がインストールエラーになったので対応しました

投稿日:2019年2月25日 更新日:

Ubuntu 18.04 LTS (WSL) の環境で curl コマンドをインストールしようとしたところ、エラーになりました。

この時の対応方法を説明します。

1. 状況

以下のコマンドを実行すると、その下に表示したエラーが表示されインストールできません。

$ sudo apt install curl

以下は日本語環境での結果です。

$ sudo apt install curl
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
 curl : 依存: libcurl3-gnutls (= 7.47.0-1ubuntu2.12) しかし、7.58.0-2ubuntu3.6 はインストールされようと
しています
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

以下は英語環境での結果です。

$ LANG=C sudo apt install curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
curl : Depends: libcurl3-gnutls (= 7.47.0-1ubuntu2.12) but 7.58.0-2ubuntu3.6 is to be installed
E: Unable to correct problems, you have held broken packages.

curl パッケージが依存している libcurl3-gnutls というパッケージに問題があるようです。

2. 対応手順

apt – Unmet dependencies when trying to install curl on Ubuntu 16.04 – Ask Ubuntu に書いてあった内容を元に以下の手順を実行しました。

まず libcurl3-gnutls パッケージについての情報を確認します。

$ apt-cache showpkg libcurl3-gnutls

実行結果は以下になります。

$ apt-cache showpkg libcurl3-gnutls
Package: libcurl3-gnutls
Versions:
(省略)
Reverse Depends:
(省略)
Dependencies:
(省略)
Provides:
7.58.0-2ubuntu3.6 -
7.47.0-1ubuntu2.12 -
7.47.0-1ubuntu2 -
Reverse Provides:

先程のエラーに含まれていた 7.58.0-2ubuntu3.6 の次のバージョンとして、7.47.0-1ubuntu2.12 というバージョンも提供されているようです。こちらをインストールすることにします。

$ sudo apt-get install libcurl3-gnutls=7.47.0-1ubuntu2.12

この状態であれば、以下のコマンドで正常に curl パッケージをインストールすることができました。

$ sudo apt install curl

参考

📂-Linux

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

xdebug

Ubuntu 16.04.3 LTS + PHP 7.2 の環境に Xdebug をインストールする

2018年1月29日に、Xdebug 2.6.0 (stable版) がリリースされました。 Homestead にもまた Xdebug がデフォルトでインストールされるようになるのではないかと思いま …

CentOS

CentOS 6 での yum update エラーに対応しました

問題 先日、CentOS 6.9 で yum update したところ、以下のエラーが発生しました。 https://ca.mirror.babylon.network/remi/enterprise …

Linux

du コマンドのエイリアスをメモ

du コマンドのエイリアスをメモ。

Linux

【Linux】man コマンドの基本的な使い方

Linux をコマンドラインで使う場合、man コマンドでマニュアルを読むことができます(man は manual の略です)。 このページでは、この manコマンドの簡単な使い方について説明します。 …

Linux

umask によって適用されるパーミッションの確認ページを作成しました

Linux (や Mac) では、ファイルやディレクトリに「パーミッション」を設定することでアクセスを制限します。 パーミッションは、「所有者」「所有グループ」「その他」の3者に対して、 ファイルなら …