縮小されたアセットがビルドフェーズで見つからないか、生成されません
Adobe Commerce Cloud では、ファイルシステムの問題や ファイルまたは ファイルの不適切な設定が原因で、縮小されたアセットがデプロイメント後に .magento.env.yaml
404config.php
エラーを返します。 この問題を修正するには、ファイルの権限をチェックして web サーバーからアクセスできることを確認し、ファイルと .magento.env.yaml
ファイルが環境に対して正しく設定されていることを確認します app/etc/config.php
説明 description
環境
Adobe Commerce Cloud
問題/症状
Web サイトのデプロイメント完了後、特定の縮小されたアセットにアクセスできません(例:https://yourdomain.com/static/frontend/Namespace/theme/default/en_US/requirejs/require.min.js returns 404)。 これは、次の理由で発生します。
-
ファイルがすべての web ノードで同期されないファイルシステムの問題。
-
.magento.env.yaml
またはconfig.php
ファイルの設定が正しくありません。- SCD on Build を有効にするには、アセットの縮小設定を
app/etc/config.php
に保存する必要があります。 - SCD 設定( 環境変数を参照)が、
.magento.env.yaml
ファイルの正しいステージで設定または追加されません。
- SCD on Build を有効にするには、アセットの縮小設定を
解決策 resolution
この問題を解決するには:
-
まず、影響を受けるアセットのファイル権限を確認して、web サーバーからアクセスできるようにします。
- 各 web ノードに SSH で接続し、アセットがすべての web ノードに存在するかどうかを確認します。 (注意 : 分割されていないアーキテクチャでは、ノードは 3 つのみです。 分割アーキテクチャでは、最初の 3 つのノードはサービスノードですが、それ以外のノードが存在する場合もあります)。 ノード X の場合:
magento-cloud ssh -p <cluster_id> -I X
- ノード X に移動したら、次のコマンドを実行して、権限を確認します。
ls -la pub/static/frontend/Namespace/theme/default/en_US/requirejs/require.min.js
(注意 : コマンドのファイル名を、404 エラーを返す実際のアセット名に置き換えます。 - ファイルが一部のノードにのみ存在し、他のノードには存在しない場合は、 連絡先理由 を インフラストラクチャインシデント に設定してサポートリクエストを送信します。
- 各 web ノードに SSH で接続し、アセットがすべての web ノードに存在するかどうかを確認します。 (注意 : 分割されていないアーキテクチャでは、ノードは 3 つのみです。 分割アーキテクチャでは、最初の 3 つのノードはサービスノードですが、それ以外のノードが存在する場合もあります)。 ノード X の場合:
-
次に、すべてのノードにファイルが存在しない場合は、
.magento.env.yaml
ファイルとapp/etc/config.php
ファイルが現在の環境に対して正しく設定されていることを確認します。-
任意の web ノードで、最初に次のコマンドを実行します。
vendor/bin/ece-tools wizard:scd-on-build
-
上記のコマンドで SCD on build is enabled が返された場合は、次のコマンドを実行して、アセットの縮小設定が有効になっていることを確認します:
grep -r minify_files app/etc/*.php
。 (注意 : コマンドのファイル名を、404 エラーを返す実際のアセット名に置き換えます。 コマンドがローを返さない場合は、縮小が無効であることを意味します。 値が0
の場合は項目が無効であり、1
の場合は有効です。 -
返される行がない場合:
config:dump
コマンドを実行して、縮小設定をapp/etc/config.php
に保存します(ビルド時の SCD の設定を参照)。- それをリポジトリにコミットします。
- インスタンスを再デプロイします。
-
アセットの縮小設定のいずれかの値が
0
の場合、縮小する必要があります。app/etc/config.php
の値を1
に更新します。- それをリポジトリにコミットします。
- インスタンスを再デプロイします。
-
.magento.env.yaml
ファイルをチェックし、適切なステージの SCD 環境変数を追加していることを確認します。
-
-
最後に、調整を行った後、影響を受ける URL へのアクセスをテストします。
これらの手順を実行した後も問題が解決しない場合は、Adobe サポートにお問い合わせください。サーバーログや追加の設定についてさらに調査が必要になる場合があるたです。