Composerでは、composer.jsonファイルへrequireを記載することで、他のパッケージへの依存性を規定することができます。これにより、インストールされていることが前提となるパッケージを自動でインストールしたり、逆に正しく動作しない環境へ誤ってパッケージがインストールされることを防ぐことができます。
今回は、Composerによるパッケージのphpバージョンチェックを一時的に回避する方法について説明します。
composer.jsonでは、phpバージョンのチェックも行える
requireによる依存性のチェックは、パッケージだけでなくphpの環境自体に対してもチェックができます。
環境というのは、phpのバージョンや、php.iniで必要なextensionがロードされているか等です。
たとえば、パッケージがインストールされる環境のphpバージョンが5.4か7.0台であることを指定するなら、以下のような定義を行います。
"require": {
"php": "^5.4|^7.0"
},
phpバージョンのチェックを一時的に回避するには
このチェック機構は非常に便利なのですが、新しいバージョンのPHPでどの程度動作するか(or 動作しないか)を確認したり、敢えて古いバージョンや動作確認を行いたい場合に、このチェック機構を迂回したい場合があります。
このような場合は、以下のようにcomposer requireに--ignore-platform-reqs
オプションをつけることでチェックを迂回できます。
composer require xxxx/xxxx --ignore-platform-reqs
composer install --ignore-platform-reqs
インストールはできますが、パッケージ作者が意図しない環境での動作を行っているため、予期せぬ不具合が発生する可能性は高いです。
実際に使用する時は、危険性があることを意識した十分な評価が必要です。
こちらもおススメ