ホームページ  >  に質問  >  本文

タイトルを書き換えました: Composer エラーの解決: 「PHP のバージョンが要件を満たしていません」 - PHP のアップグレードのリファレンス

<p>PHP を 7.4 から 8.0 にアップグレードした後、既存のプロジェクトで <code>composer update</code> を実行すると、次のエラーが発生しました: </p> <ブロック引用>
P粉162773626P粉162773626446日前562

全員に返信(2)返信します

  • P粉670838735

    P粉6708387352023-08-23 22:07:58

    PHP バージョン 8 を使用している場合、まだサポートされていない一部のプラグインによりインストール エラーが発生する可能性があります。

    composer install --ignore-platform-req=php または composer install --ignore-platform-reqs

    このオプションは、composer が無視できる特定の要件を設定するために使用できます。

    返事
    0
  • P粉289775043

    P粉2897750432023-08-23 09:22:20

    ###質問###

    Composer パッケージでは、必要な他のパッケージのバージョンに加えて、サポートする PHP バージョンも指定できます。

    インストールするパッケージのバージョンを解析するとき、Composer はすべての制約に一致するバージョンを見つける必要があります:

      composer.json
    • で依存関係に対して指定するバージョン制約 各パッケージによってその依存関係に対して指定されるバージョン制約
    • 各パッケージでサポートされている PHP バージョン
    • これらの制約をすべて満たすパッケージがない場合は、エラーが発生します。

    よくある混乱

    PHP バージョンのバージョン制約は、

    他の Composer 制約と同じルールに従うことに注意してください。したがって、制約 #^7.0

    は、8.0 を除く、「7.0 より上の任意の 7.x バージョン」を意味します。 ###解決### この問題を解決するには、制約の 1 つを緩和する必要があります:

    エラー メッセージに記載されているパッケージ (例: 例の

    acme/some-package

    ) を確認し、

    Packagist

    (または構成したカスタム パッケージ ソース) にインストールします。それをオンにします。
    1. 使用している PHP バージョンをサポートする新しいバージョンがあるかどうかを確認してください。 そうでない場合は、それをサポートするために何を追加する必要があるかを調べる必要があります。これは、プロジェクトを直接チェックアウトし、テストを実行し、新しいバージョンと互換性があることを示すパッチを送信することを意味する場合があります。 サポートが追加された場合は、
    2. composer.json
    3. および他の依存パッケージがその新しいバージョンを除外していないことを確認する必要があります。たとえば、現在
    4. acme/some-package
    5. のバージョン
    6. ^1.0
    7. に依存しているが、PHP 8.0 がバージョン 2.2.0 以降でのみサポートされている場合は、制約を変更する必要があります。 ^2.2 に変更し、アプリケーションに互換性があることを確認してください。 一時的な解決策 以前と同じパッケージ バージョンを使用すると、アプリケーションが正しく実行されると確信できる場合があります。この場合、composer.json

    platform

    configuration variables

    を使用して、古いバージョンをまだ使用しているように見せることができます。 これは、新しい PHP バージョンではまったく機能しないパッケージがインストールされる可能性があることを意味するため、一時的な回避策またはテスト としてのみ使用してください。 ###例えば:### リーリー Composer での PHP ベースの依存関係のオーバーライド 」も参照してください

    返事
    0
  • キャンセル返事