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

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

関連記事

Linux

【Ubuntu】pip install –upgrade pip コマンドを実行すると、その後、ImportError: cannot import name main というエラーが発生する場合の対応方法

「pip install –upgrade pip」コマンドを実行した後、pip コマンドを実行すると「ImportError: cannot import name main」というエラーが発生す …

CentOS

yum のエラー「Not using downloaded repomd.xml because it is older than what we have」

私が管理している CentOS 7 から yum に関するエラー通知メールが送られてきました。 目次メールの内容対応方法実際に実行してみました メールの内容 以下がメールの抜粋になります。 件名: C …

CentOS

CentOS 8 標準の Apache と PHP の関係について

CentOS 8 における Apache と PHP の関係について説明します。

Let's Encrypt

Let’s Encrypt で ‘-0001’ がついた証明書データを削除する方法

目次1. 問題点2. 対応方法念のため、存在している証明書を全て表示します。いらない証明書データを削除する3. 間違えて生成した ‘-0001’ の方を Webサイトで使用して …

Linux

指定した条件にマッチするファイルを検索する find コマンド

find コマンドについて説明します。 ※ 本ページで扱うのは、find (GNU findutils) 4.7.0-git です。 目次1. find コマンドの使い方式 (EXPRESSION)式 …