PHPのバージョンが新しいのにComposerでエラーが出る理由とその対応方法

はじめに:

PHPのバージョンをアップデートした際、Composerのinstallコマンドを実行したところ、思わぬエラーが発生した経験はありませんか?

今回は、そのような時に役立つ情報をお伝えします。

ComposerとPHPバージョンの問題:

PHP 8.0.0を使用しているのに、composer installの実行時にRoot composer.json requires php ^7.3というエラーメッセージが表示されたという質問が寄せられました。

本来、新しいバージョンのPHPを使用しているので、古いバージョンのPHPが要求されるのはおかしいと感じるかもしれません。

原因と対応策:

このエラーの原因は、プロジェクト内のcomposer.jsonファイルにおいて、次のような要件が指定されているからです。

"require": {
    "php": ">=7.3",
    .....
},

この設定は、PHPのバージョンが7.3以上であることを要求していますが、8.0.0以降のバージョンについては考慮していません。この要件を次のように更新することで、エラーを解消できます。

"require": {
    "php": "^7.3||^8.0",
    .....
},

この変更により、PHP 7.3または8.0のどちらのバージョンでも動作することが保証されます。

一時的な解決策:

また、一時的な対策として、以下のコマンドを使用することでエラーを回避し、インストールを完了することができます。

composer install --ignore-platform-reqs

このコマンドはプラットフォームの要件を無視してインストールを実行しますが、長期的な解決策としては推奨されません。

さいごに:

PHPやその他のライブラリのバージョンをアップデートする際は、互換性の問題に注意する必要があります。

エラーメッセージをよく読み、適切なバージョンを指定することで、安定した動作を実現できます。

参考

Error “Root composer.json requires php ^7.3 but your php version (8.0.0) does not satisfy that requirement”

タイトルとURLをコピーしました