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

メールアドレスが公開されることはありません。

関連記事

Google App Engine

Ubuntu 18.04 (WSL) に、Google Cloud SDK をインストールする

Ubuntu 18.04 (WSL) に、Google Cloud SDK をインストールする手順を紹介します。

Linux

ドキュメントルートに chmod コマンドを実行する際、指定すると便利なモード引数

目次1. はじめに2. chmod に関する前提知識3. ディレクトリは rwxr-xr-x ファイルは rw-r–r– にする解説4. ディレクトリは rwxrwxr-x ファイルは rw-rw …

Let's Encrypt

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

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

docker

CentOS 上の Docker にウェブサーバーを入れて80番以外のポートで公開することができない問題【未解決】

CentOS 7 上の Dockerコンテナ にウェブサーバーを入れた場合、80番以外のポートで公開することはできないようです。 例えば、 まず、firewall-cmd コマンドで 8080番ポート …

Let's Encrypt

Let’s Encrypt を使ってみました

無料でSSL証明書が発行できる Let’s Encrypt を使ってみました。 その時の操作手順を紹介します。 本記事執筆時に存在していた「Let’s Encrypt 総合ポー …