LoginSignup
5
3

More than 1 year has passed since last update.

PHP7.4でzipがインストールできない

Last updated at Posted at 2021-08-09

PHPのインストールでzip(php74-php-pecl-zip)のインストールに依存関係の問題で少しはまったのでメモ。php -m で「zip」が表示されてない状態。

環境:PHP/7.4 OS/Amazon Linux2

結論からいうと、Amazon Linux2のリポジトリが邪魔して、依存関係を解決できない状態になってました。

1.libzip-1.3.2-1.amzn2.0.1.x86_64が邪魔してインストールできない

[root@ ~]# yum install php74-php-pecl-zip

--> トランザクションの確認を実行しています。
---> パッケージ php74-php-pecl-zip.x86_64 0:1.19.3-2.el7.remi を インストール
--> 依存性の処理をしています: libzip5(x86-64) >= 1.8.0 のパッケージ: php74-php-pecl-zip-1.19.3-2.el7.remi.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ **libzip5.x86_64 0:1.8.0-2.el7.remi** を インストール
--> 依存性の処理をしています: libzstd(x86-64) >= 1.3.6 のパッケージ: libzip5-1.8.0-2.el7.remi.x86_64
--> 依存性解決を終了しました。
エラー: パッケージ: libzip5-1.8.0-2.el7.remi.x86_64 (remi-safe)
             要求: libzstd(x86-64) >= 1.3.6
            インストール: **libzstd-1.3.3-1.amzn2.0.1.x86_64** (@amzn2-core)
                libzstd(x86-64) = 1.3.3-1.amzn2.0.1
            利用可能: libzstd-1.3.3-1.amzn2.x86_64 (amzn2-core)
                libzstd(x86-64) = 1.3.3-1.amzn2

よく読むと必要なパッケージにremiって書いてあります。

2.libzip-1.3.2-1.amzn2.0.1.x86_64を削除

yum remove libzip-1.3.2-1.amzn2.0.1.x86_64

3.amzn2-coreをrepoを対象から外す。

yum update --disablerepo=amzn2-core

ここがちょっと盲点でした。
まさかAmazon Linux2のリポジトリが邪魔してるなんて思いもしませんでした。

4.改めてphp74-php-pecl-zipをインストール

[root@ ~]# yum install php74-php-pecl-zip
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php74-php-pecl-zip.x86_64 0:1.19.3-2.el7.remi を インストール
--> 依存性の処理をしています: libzip5(x86-64) >= 1.8.0 のパッケージ: php74-php-pecl-zip-1.19.3-2.el7.remi.x86_64
--> 依存性の処理をしています: libzip.so.5()(64bit) のパッケージ: php74-php-pecl-zip-1.19.3-2.el7.remi.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libzip5.x86_64 0:1.8.0-2.el7.remi を インストール
--> 依存性解決を終了しました。

依存性を解決しました

インストール:
  php74-php-pecl-zip.x86_64 0:1.19.3-2.el7.remi                                                   

依存性関連をインストールしました:
  libzip5.x86_64 0:1.8.0-2.el7.remi

今回の問題の直接的な解決には繋がらなかったけど、パッケージのリポジトリまわりはこの記事が参考になりました。どのリポジトリがきいてるとか、このパッケージはこのリポジトリから入れてるよってのも知ることができます。
https://qiita.com/SwuBHj8aKGqBKHet/items/5dba7a80d63c52d89b82

rpmでハマったことは何度もあったけど、yumでハマることはあんまりなかったので、yumまわりの仕組みがいろいろわかりました。Remiってずっとなんだと思ったけど、人の名前でした。Remi Colletさん。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3