[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クラス(phpのzipエクステンション)を使用しているのですが、これらの機能が見つからなかったためです。LinuxやMacの場合unzipユーティリティが優先されますが、Windowsを使用している場合は、ZipArchiveクラスが優先されます。

Linuxの場合、phpのzipエクステンションのみをインストールしてcomposerを実行すると以下のメッセージが表示されます。zipの展開自体は行えるのですが"unzipコマンドをインストールするともっと速く処理できるよ"という警告です。

> composer update

...
To speed up composer installation setup "unzip" command with PHP zip extension https://goo.gl/sxzFcD

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

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

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

Ubnutu Linuxの場合

  • unzipコマンドをインストール(php5.6)
sudo apt-get install zip unzip php5.6-zip
  • unzipコマンドをインストール(php7.0)
sudo apt-get install zip unzip php7.0-zip

CentOSの場合

  • phpのzipエクステンションをインストール
yum install php-zip
  • unzipコマンドをインストール
yum install -y zip unzip

Amazonでおトクに買い物する方法
AmazonチャージでポイントGET


Amazonは買いもの前にAmazonギフト券をチャージしてポイントをゲットしないと損!

こちらもおススメ

コメントを残す

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