PHPの依存関係で phpの一部のモジュールがアップデートできなくなった

「php-pecl-memcached」のモジュールがエラー上がってアップデートできなくなったので、一旦削除して再インストールすると以下のエラーでインストールできなくなりました。

$ sudo dnf --allowerasing install php-pecl-memcached

 メタデータの期限切れの最終確認: 0:00:10 前の 2026年06月15日 13時22分26秒 に実施しました。
 エラー: 
 問題: package php-pecl-msgpack-3.0.1-1.el10_2.x86_64 from epel requires php(api) = 20240924-64, but none of the providers can be installed 
 - package php-pecl-msgpack-3.0.1-1.el10_2.x86_64 from epel requires php(zend-abi) = 20240924-64, but none of the providers can be installed 
 - package php8.4-common-8.4.16-1.el10.x86_64 from appstream conflicts with php-common < 8.4 provided by php-common-8.3.29-1.el10_1.x86_64 from appstream
 - package php8.4-common-8.4.21-1.el10_2.x86_64 from appstream conflicts with php-common < 8.4 provided by php-common-8.3.29-1.el10_1.x86_64 from appstream
 - package php-pecl-igbinary-3.2.16-3.el10_0.x86_64 from epel requires php(api) = 20230831-64, but none of the providers can be installed
 - package php-pecl-igbinary-3.2.16-3.el10_0.x86_64 from epel requires php(zend-abi) = 20230831-64, but none of the providers can be installed
 - package php-pecl-memcached-3.4.0-1.el10_2.x86_64 from epel requires php-msgpack(x86-64), but none of the providers can be installed
 - package php-pecl-memcached-3.4.0-1.el10_2.x86_64 from epel requires php-igbinary(x86-64), but none of the providers can be installed
 - package php8.4-common-8.4.16-1.el10.x86_64 from appstream conflicts with php-common < 8.4 provided by php-common-8.3.31-1.el10_2.x86_64 from appstream
 - package php8.4-common-8.4.21-1.el10_2.x86_64 from appstream conflicts with php-common < 8.4 provided by php-common-8.3.31-1.el10_2.x86_64 from appstream
 - 競合するリクエスト
 - package php8.4-common-8.4.16-1.el10.x86_64 from appstream conflicts with php-common < 8.4 provided by php-common-8.3.31-1.el10_2.x86_64 from @System
 - package php8.4-common-8.4.21-1.el10_2.x86_64 from appstream conflicts with php-common < 8.4 provided by php-common-8.3.31-1.el10_2.x86_64 from @System

php 8.4とか表示されているので、現在インストールしているphpのバージョンを確認する

$ php -v
PHP 8.3.31

インストールできない原因

EPEL リポジトリ内の PHP 拡張パッケージの ABI が不整合になっている。最近ビルドしたパッケージが8.4用しか配布されておらず、インストールされているphp8.3のバージョンはビルドされていないようです

パッケージPHP ABI
php-pecl-igbinary-3.2.16-3.el10_0PHP 8.3 (20230831)
php-pecl-msgpack-3.0.1-1.el10_2PHP 8.4 (20240924)
php-pecl-memcached-3.4.0-1.el10_2上記両方を要求

対応方法

今回はサーバー側の問題ではなく、EPEL 側のパッケージ整合性の問題と判断できるので、php8.3が配布されるまで待つのが良さそうなのでしばらく様子をみるようにします

\ 最新情報をチェック /

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です