📒

Composer で your php version does not satisfy that requirement が出たとき

2023/01/04に公開

composer install を実行した際、次のようなエラーメッセージが出ることがあります。
この解消法についてシェアします。

phpspec/prophecy 1.13.0 requires php ^7.2 || ~8.0, <8.1 
-> your php version (8.1.8) does not satisfy that requirement.

上記の場合、phpspec/prophecy というパッケージが必要とするPHPバージョンと、composerコマンドを実行している環境のバージョンが合っていない、ことが原因になります。

対応

Composer の設定ファイルに、使用するPHPのバージョンを次のコマンドで指定します。

composer config platform.php 7.4.33
// これでcomposer.json に次のようにバージョン指定が追記されます 
//+        "platform": {
//+            "php": "7.4.33"
//+        }

次に、すでに composer.lock が存在している場合、削除します。

rm composer.lock

そして、インストール。

composer install

これにより、composer.jsonの内容にもとづき、指定したPHPバージョン下で、各パッケージが更新されます。

Discussion