Sis*_*sir 3 php package-management apt dependencies
我已经从 ubuntu 18.04 到 20.04 进行了版本升级。删除了之前安装的 PHP。然后我跑
sudo apt install php-cli
但我遇到以下错误:
The following packages have unmet dependencies:
php7.4-cli : Depends: php7.4-common (= 7.4.3-4ubuntu2.4) but 7.4.8-1+ubuntu18.04.1+deb.sury.org+3 is to be installed
Depends: php7.4-json but it is not going to be installed
Depends: php7.4-opcache but it is not going to be installed
Depends: php7.4-readline but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
所以我怀疑7.4.8-1+ubuntu18.04.1+deb.sury.org+3包裹仍然有效?我已经检查了/etc/apt/sources.list目录/etc/apt/sources.list.d/,但没有找到任何与该包匹配的源。
我还应该看哪里?
编辑
apt policy php7.4-common
php7.4-common:
Installed: 7.4.8-1+ubuntu18.04.1+deb.sury.org+3
Candidate: 7.4.8-1+ubuntu18.04.1+deb.sury.org+3
Version table:
*** 7.4.8-1+ubuntu18.04.1+deb.sury.org+3 100
100 /var/lib/dpkg/status
7.4.3-4ubuntu2.4 500
500 http://bd.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
7.4.3-4ubuntu1 500
500 http://bd.archive.ubuntu.com/ubuntu focal/main amd64 Packages
Run Code Online (Sandbox Code Playgroud)
您卸载了php,但没有卸载它的依赖项,因此仍然有剩余的内容ppa(我猜是ppa:ondrej/php)。
尝试一下autoremove,可能已经足够了:
sudo apt autoremove
Run Code Online (Sandbox Code Playgroud)
如果没有,您可以手动卸载有问题的软件包:
sudo apt remove php7.4-common
Run Code Online (Sandbox Code Playgroud)
如果这还不够,它可能有助于添加ppa 再次并删除ppa-purge:
sudo add-apt-repository ppa:ondrej/php
sudo apt install ppa-purge
sudo ppa-purge ppa:ondrej/php
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9240 次 |
| 最近记录: |