在装有 PHP 7.2.10 的 Ubuntu 18.10 上出现“curl:依赖:libcurl4(= 7.61.0-1ubuntu2.2)但不会安装”

在装有 PHP 7.2.10 的 Ubuntu 18.10 上出现“curl:依赖:libcurl4(= 7.61.0-1ubuntu2.2)但不会安装”

我在 Ubuntu 18.10 中安装 cURL 模块时遇到了麻烦。从 17.10 升级到 18.10 时,cURL 被移除/删除了。现在,当我尝试执行命令时

sudo apt-get install php7.2-curl

我收到此错误:

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.

sudo apt-get install curl

给出错误

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.

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

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

apt update 和 apt dist-upgrade 的输出

其他软件列表

答案1

简单的解决方案:(对我有用)

sudo apt remove libcurl4
sudo apt install curl

答案2

问题:在准备 dist-upgrade 时,看起来你犯了错误:

  • 您无法禁用 17.10 存储库。
  • 您无法卸载非 Ubuntu 软件,并且无法禁用这些 PPA。

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

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

  1. 收拾残局。

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

答案3

在我删除了 libcurl4 包之后,我的 apache 停止启动并显示错误 502。删除此包时要小心。

相关内容