Composer バージョンがブロックされているため、Adobe Commerce Cloudのデプロイメントに失敗します

Adobe Commerce on Cloudのデプロイメントは、以前にピン留めしたComposer バージョンが更新されたセキュリティアドバイザーによってブロックされるComposerのビルド段階で失敗します。 アプリケーションを変更しなくても、標準のデプロイメントプロセスが完了する前にビルドが停止します。 設定でピン留めされたコンポーザーのバージョンを更新すると、正常なビルドが復元されます。

この問題を解決するには、ピン留めされたComposer バージョンを更新して再デプロイします。

説明 description

環境

  • Adobe Commerce on Cloud
  • ピン留めされたComposer バージョンを使用したクラウド デプロイメント ビルド

問題/症状

  • Composerのビルドまたはインストールのフェーズでデプロイメントが失敗する
  • 以前に成功したデプロイメントは、アプリケーションコードの変更なしで失敗します
  • 標準のAdobe Commerce デプロイメント手順が完了する前に、ビルド エラーが発生します
  • セキュリティアドバイザーの影響を受けるブロックされたComposer バージョンのビルドログのレポート

エラーの例:

Your requirements could not be resolved to an installable set of packages.

Root composer.json requires composer/composer 2.2.27 (exact version match: 2.2.27 or 2.2.27.0), found composer/composer[ 2.2.27]  but these were not loaded, because they are affected by security advisories.

Go to https://packagist.org/security-advisories/ to find advisory details.

To ignore the advisories, add them to the audit "ignore" config.

To turn the feature off entirely, you can set "block-insecure" to false in your "audit" config.

解決策 resolution

  1. デプロイメントログを確認し、ビルド出力で報告されるブロックされたComposer バージョンを特定します。

  2. プロジェクトリポジトリで.magento.app.yaml ファイルを開きます。

  3. dependencies > php」セクションでコンポーザーの依存関係を探します。 例:

    code language-none
    dependencies:
      php:
        composer/composer: '2.2.27'
    
  4. ブロックされたComposer バージョンを、Adobe Commerce リリースと互換性のあるサポート対象のセキュアなバージョンに置き換えます。 設定例: Adobe Commerce 2.4.7以降の場合:

    code language-none
    dependencies:
      php:
        composer/composer: '2.9.8'
    

    Adobe Commerce 2.4.5-2.4.6の場合:

    code language-none
    dependencies:
      php:
        composer/composer: '2.2.28'
    
  5. 設定の変更をリポジトリにコミットします。

  6. 環境を再デプロイします。

  7. セキュリティアドバイザリーエラーなしで、Composerのインストール段階が正常に完了することを確認します。

recommendation-more-help
experience-cloud-kcs-help-kbarticles