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

環境変数PATHにセットされたパスを1行毎に表示する

環境変数PATHにセットされたパスを1行毎に表示する方法について説明しています。

Linux

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

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

Linux

コマンドに対してデフォルトで指定されているオプションを調べる

Linux などの UNIX系OS環境では、コマンドを入力して実行する機会が多いと思いますが、それぞれの環境によって、いくつかのコマンドオプションがデフォルトで指定されている場合があります。 ※ ログ …

WSL

WSL の Ubuntu 16.04 LTS を 18.04 LTS にアップグレードする

WSL の Ubuntu 16.04 LTS を 18.04 LTS にアップグレードしたときの手順を記録します。 目次1. 公式な情報2. 現状確認3. アップグレード作業(1) パッケージを最新の …

Google App Engine

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

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