legacy-knowledge-base
公開されました Jul. 2, 2025

遅い Liferay Experience Cloud を解決する方法 - 多くの React モジュールを含めると自己管理型のビルド時間が発生する

written-by

Isaac Wilson

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • Liferay ワークスペースに React モジュールを追加した後、(通常はタイムアウトによる) 一貫したビルドの失敗が見られます。 回避策として、十分な時間が与えられた場合 (つまり、 LCP_CI_BUILD_TIMEOUT_MINUTES をデフォルトの 30 分ではなく複数時間に設定することによって) ビルドは成功しますが、同じビルドをローカルでコンパイルすると、より迅速に完了することができます (両方ともデフォルトの NPM ノード パッケージ マネージャーを使用しています)。
  • CI のインフラ サービス内でビルド時間を短縮することは可能ですか?

Environment

  • Liferay Experience Cloud - 自己管理型

解決策

  • 一部の環境 (特に多くのフロントエンド モジュールが含まれている環境) では、NPM の代わりに Yarn を使用するように Liferay ワークスペースを切り替えることで、ビルド時間を大幅に短縮できます。 これは、gradle.properties ファイルで次のプロパティを設定することで実行できます。
    liferay.workspace.node.package.manager=yarn

追加情報

  • このような場合、初期の遅さは、キャッシングが新しいワークスペースで使用されていないときに NPM がアーティファクトを処理する方法が原因である可能性があります (Liferay Experience Cloud - SM CI ビルドの場合)。 node_modules フォルダーが含まれているため、各モジュール ビルドは最終的に必要なアーティファクトをダウンロードし、アーティファクトが複数のモジュールに必要な場合はダウンロードを複数回繰り返します (より多くのモジュールがワークスペースに追加されると複雑になります)。 Yarn を使用する場合、キャッシュが含まれるため、React の コピーが 1 つだけダウンロードされ、すべてのモジュール ビルドで再利用されます。
  • Yarn と NPM の切り替えは 1:1 の置き換えではないため (Yarn と NPM の解決方法が異なるため)、推移的な依存関係を解決する必要がある場合もあります。
  • 詳細については、次のドキュメントを参照してください。

did-this-article-resolve-your-issue

legacy-knowledge-base