“curl : Depends: libcurl4 (= 7.61.0-1ubuntu2.2) but it is not going to be installed” Ubuntu 18.10 with PHP 7.2.10

Mus*_*eri 5 package-management apt curl php7

我正在努力在 Ubuntu 18.10 中安装 cURL 模块。从 17.10 升级到 18.10 cURL 被移除/删除。现在当我尝试执行命令时

sudo apt-get install php7.2-curl
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

The following packages have unmet dependencies:
  php7.2-curl :
  Depends: libcurl4 (>= 7.44.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
sudo apt-get install curl
Run Code Online (Sandbox Code Playgroud)

给出错误

The following packages have unmet dependencies:
  curl : Depends: libcurl4 (= 7.61.0-1ubuntu2.2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)

我的 /etc/apt/sources.list.d/ 的内容列表

apt-cache 策略 php7.2-curl curl libcurl4 的输出

apt update 和 apt dist-upgrade 的输出

其他软件列表

小智 7

简单的解决方案:(为我工作)

sudo apt remove libcurl4
sudo apt install curl
Run Code Online (Sandbox Code Playgroud)


use*_*733 2

问题:在准备 dist 升级时,看起来您犯了错误:

  • 您未能禁用 17.10 存储库。
  • 您未能卸载非 Ubuntu 软件,也没有禁用这些 PPA。

现在你被一堆错误版本的软件包所困扰,这些软件包(可以理解)阻碍了 apt。我们通常将其称为部分不完整升级。所有这些信息都来自您提供的输出。

解决方案:您有两个选择:

  1. 收拾残局。

    • 卸载所有 PPA 和其他非 Ubuntu 软件,并禁用它们的来源。
    • 禁用 17.10 存储库。
    • 然后运行 ​​apt update,然后运行 ​​apt dist-upgrade 以使您尽可能接近库存 18.10。
    • 然后,开始一一添加回非 Ubuntu 源和软件。
  2. 如果您不知道如何执行#1,请保留您的数据并全新安装 18.10。