Ubuntu 18を配布していますが、PECL拡張のためにphp7.2-devをインストールする必要があります。
mvolchkov@ias-su:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04 LTS
Release: 18.04
Codename: bionic
Php7.2-devをインストールしてみます。
mvolchkov@ias-su:~$ Sudo apt-get install php7.2-dev
Unresolved packages:
php7.2-dev : Depend on: libpcre3-dev (>= 2:8.35) but will not be installed
Depend on: libssl-dev but will not be installed
But it depends on: libpcre3-dev
Libpcre3-devをインストールしようとしたが、次のエラーが発生する:
mvolchkov@ias-su:~$ Sudo apt-get install libpcre3-dev
libpcre3-dev : Depend on: libpcre3 (= 2:8.39-9) но 2:8.41-4+ubuntu17.10.1+deb.sury.org+1 will be installed
E: Impossible to resolve problems, you have held packages.
コメントのuser535733からのアドバイスは非常に曖昧であり、libpcre3
をアンインストールすることを意味するため、この場合は実際には100%不可能です。これを行うと、大量のパッケージが削除されます。
これの鍵はこれにありました question ユーザーがlibpcre3-dev
(インストールに問題がある依存関係の1つ)をインストールできませんでした。
libpcre3-dev
のバージョンが意図したより新しいので、以前にサードパーティ(ondrej)のppaを持っている必要があると仮定します。
したがって、あなたがする必要があるのは、非Ubuntuパッケージをアンインストールするのではなく、php7.2-dev依存関係をダウングレードすることです。
私の場合、次の操作を行うと、サードパーティのPPAを削除した後に問題が修正されました。
Sudo apt install libpcre3=2:8.39-9 libpcre3-dev=2:8.39-9
Sudo apt install libssl1.1=1.1.0g-2ubuntu4.1 libssl-dev=1.1.0g-2ubuntu4.1
なぜこれが起こる必要があるのですか?
OndrejリポジトリからPHP 7.2.7を持っている可能性がありますが、公式リポジトリから7.2.5を持っています。ただし、libpcre3とlibsslは、おそらく他のリポジトリの新しいバージョンに残っています。
したがって、これらのコマンドは問題を解決し、php7.2-dev
を正常にインストールできるはずです。