AEM前端組建的Node.js和npm版本支援與相容性

AEM前端模組(例如具有React或Webpack的ui.frontend)需要與AEM組建環境相容的Node.js版本,而使用不支援或不相符的版本會導致Cloud Manager管道組建失敗或在升級時的不確定性。 若要修正此問題,請識別您的部署模型、確認您的目標Node.js和npm版本受到支援,並在您的管道設定中設定正確的版本。

說明 description

環境

  • Adobe Experience Manager as a Cloud Service
  • AEM Managed Services (AEM 6.5)
  • Adobe Experience Manager 6.5 (內部部署)

問題/症狀

  • 使用不受支援的Node.js版本時(例如,在新增支援之前使用Node 20),Cloud Manager管道建置會失敗。
  • 不確定哪個npm版本與支援的Node.js版本整合(例如npm 10.8.2搭配節點18,或npm 9.6.7搭配節點23.11.1)。

根本原因

不同的AEM部署模型處理Node.js的方式不同。 在AEM as a Cloud Service中,Node.js是包含已驗證版本的Cloud Manager組建容器的一部分。 在AEM 6.5 Managed Services或內部部署中,Node.js純粹是您管理的組建時間相依性,不存在正式的支援對照表。 嘗試使用Cloud Manager中尚未發行的版本或不相符npm版本,可能會導致組建不相容。

要再現的步驟

  1. 識別您的部署模式:內部部署AEM as a Cloud Service、AEM 6.5 Managed Services或AEM 6.5。
  2. 對於AEM as a Cloud Service,請在管道建置步驟中執行node -vnpm -v,並檢閱建置記錄中的列印版本。
  3. 將您的目標Node.js版本與官方支援的版本清單進行比較。

解決方法 resolution

若要修正此問題,請識別您的AEM部署模型,然後依照您環境的步驟進行:

適用於AEM as a Cloud Service的

**1. 確認支援您的目標Node.js版本。 根據官方檔案,支援的主要版本為12、14、16、18、20、22和23。 針對Experience League支援清單進行交叉檢查。 2. 確認您的Node.js版本隨附的npm版本。 在Cloud Manager管道建置步驟中執行node -vnpm -v並檢閱記錄(例如,Node 18套件組合npm 10.8.2和Node 23.11.1套件組合npm 9.6.7)。 如果npm報告的版本是404,這反映了公用登入的差異,請確認實際的套件版本。 3. 在管道中設定Node.js版本。 在Cloud Manager中,移至 環境>設定>環境變數 並設定CM_CUSTOM_VAR_NODE_VERSION (或適用的NODE_VERSION)。 重新執行管道並確認記錄檔中的Node版本,確保pom.xml或您的組建指令碼中未定義衝突的版本。 4. 針對完整棧疊管道,將NODE_VERSION設為20以使用Node.js 20,並驗證您的專案相依性是否與Node 20相容。 5. 只有在有檔案記載的支援存在的情況下,才使用Node.js 22或23。 如果前端組建失敗,請還原至節點18或20,並測試相依性相容性。 6. 透過測試使用新Node.js版本的組建並確認沒有前端回歸,來驗證第三方相依性相容性。 針對廠商特定問題,請直接聯絡協力廠商資訊,因為Adobe無法提供其相容性詳細資訊。 7. 在建置記錄檔中執行node -vnpm -v並觸發完整管道執行來確認修正,以驗證ui.frontend建置是否成功,且沒有版本不符錯誤。 8. 如果建置在正確的設定下仍失敗,請聯絡Adobe支援並提供您的管道記錄、pom.xmlpackage.json和Cloud Manager環境變數清單。**適用於AEM 6.5 (Managed Services和內部部署)*1. 請注意,AEM 6.5沒有官方的Node.js支援對照表。 Node.js由客戶管理、僅用於建置時間工具,並與AEM執行階段脫鉤。 2. 更新Node.js和npm時,請保持package.jsonpom.xml一致,以便本機和CI組建一致(例如,將節點12.22.7升級至16.17.0和npm 6.14.0升級至8.15.0)。 3. 在本機和在CI中執行node -vnpm -v以確認版本,並確認前端建置完成,且沒有版本不符錯誤。 4. 如果仍有混淆或建置問題,請聯絡Adobe支援並提供您的建置指令碼詳細資料、pom.xmlpackage.json。### 相關閱讀 使用前端管道開發網站

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