[PHP]Composerで「The zip extension and unzip command are both missing」エラー

カテゴリ: composer

Composerでパッケージを入手しようとした場合、zip extensionが見つからないとのエラーが出た時の対処法を説明します。

以下の内容は、エラーが出たときの出力例です。

> composer update

...
Updating dependencies (including require-dev)
    Failed to download composer/installers from dist: The zip extension and unzip command are both missing, skipping.
The php.ini used by your command-line PHP is: /etc/php.ini
    Now trying to download from source

これは、Composerがzipファイルを展開するときに、OSで提供されているunzipユーティリティかPHPのZipArchiveクラスを使用しているのですが、これらの機能が見つからなかったためです。LinuxやMacの場合unzipユーティリティが優先されますが、Windowsを使用している場合は、ZipArchiveクラスが優先されます。

パッケージがないのが理由なので、インストール後にもう一度実行すればエラーは出なくなります。

Linux環境でzipパッケージのインストール方法

linuxの場合は、apt-getなどのパッケージマネージャを利用してzippackageをインストールすればよいです。

Ubnutu Linuxの場合

# Ubuntu Linux, php 5.6の場合
sudo apt-get install zip unzip php5.6-zip
# Ubuntu Linux, php 7.0の場合
sudo apt-get install zip unzip php7.0-zip

CentOSの場合

yum install -y zip unzip
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。