從2.4.4升級至2.4.4-p1後,套件已降級

本文提供當商家在2.4.4版執行composer update命令,然後以下列出的套件(模組)降級到與2.4.4版不相容的舊版,並且只應該與2.4.5版及更高版本一起使用時,此問題的Hotfix。

受影響的產品和版本

  • 雲端基礎結構上的Adobe Commerce 2.4.4
  • Adobe Commerce內部部署2.4.4
  • Magento Open Source2.4.4

問題

此問題可能以兩種方式發生,並且會以何種方式重現:

案例1

要再現的步驟

從2.4.4升級至2.4.4-p1時,有許多套件(模組)會以類似輸出降級:

Downgrading magento/module-adobe-ims (2.1.4 => 2.1.3)
Downgrading magento/module-adobe-ims-api (2.1.2 => 2.1.1)
Downgrading magento/module-adobe-stock-admin-ui (1.3.2 => 1.3.1)
Downgrading magento/module-adobe-stock-client-api (2.1.2 => 2.1.1)
Downgrading magento/module-adobe-stock-image (1.3.3 => 1.3.2)
Downgrading magento/module-adobe-stock-image-admin-ui (1.3.3 => 1.3.2)
Downgrading magento/module-banner-page-builder (2.2.3 => 2.2.2)
Downgrading magento/module-inventory (1.2.3 => 1.2.2)
Downgrading magento/module-inventory-admin-ui (1.2.3 => 1.2.2-p1)
Downgrading magento/module-inventory-advanced-checkout (1.2.2 => 1.2.1)
Downgrading magento/module-inventory-api (1.2.3 => 1.2.2-p1)
Downgrading magento/module-inventory-bundle-product (1.2.2 => 1.2.1)
Downgrading magento/module-inventory-catalog-api (1.3.3 => 1.3.2)
Downgrading magento/module-inventory-configurable-product-admin-ui (1.2.3 => 1.2.2-p1)
Downgrading magento/module-inventory-configurable-product-frontend-ui (1.0.3 => 1.0.2)
Downgrading magento/module-inventory-import-export (1.2.3 => 1.2.2)
Downgrading magento/module-inventory-in-store-pickup-admin-ui (1.1.2 => 1.1.1)
Downgrading magento/module-inventory-in-store-pickup-frontend (1.1.3 => 1.1.2)
Downgrading magento/module-inventory-in-store-pickup-graph-ql (1.1.2 => 1.1.1)
Downgrading magento/module-inventory-in-store-pickup-sales-admin-ui (1.1.3 => 1.1.2-p1)
Downgrading magento/module-inventory-in-store-pickup-shipping (1.1.2 => 1.1.1)
Downgrading magento/module-inventory-low-quantity-notification (1.2.2 => 1.2.1)
Downgrading magento/module-inventory-low-quantity-notification-api (1.2.2 => 1.2.1-p1)
Downgrading magento/module-inventory-requisition-list (1.2.3 => 1.2.2)
Downgrading magento/module-inventory-sales-admin-ui (1.2.3 => 1.2.2)
Downgrading magento/module-inventory-sales-api (1.2.2 => 1.2.1)
Downgrading magento/module-inventory-shipping-admin-ui (1.2.3 => 1.2.2-p1)
Downgrading magento/module-inventory-source-selection-api (1.4.2 => 1.4.1-p1)
Downgrading magento/module-inventory-wishlist (1.0.2 => 1.0.1)
Downgrading magento/module-page-builder (2.2.3 => 2.2.2)
Downgrading magento/module-re-captcha-checkout-sales-rule (1.1.1 => 1.1.0)
Downgrading magento/module-re-captcha-customer (1.1.3 => 1.1.2)
Downgrading magento/module-re-captcha-frontend-ui (1.1.3 => 1.1.2)
Downgrading magento/module-staging-page-builder (2.2.3 => 2.2.2)
Downgrading magento/module-two-factor-auth (1.1.4 => 1.1.3)
Removing magento/module-admin-adobe-ims (100.4.0)

預期結果

從2.4.4版升級至2.4.4-p1版,會產生2.4.4-p1版的正確套件(模組)。

實際結果

從2.4.4版升級至2.4.4-p1期間,這些套件的(模組)版本會降級,但這些訊息可以忽略,且功能不受影響。

案例2

要再現的步驟

當2.4.4商家執行composer update命令時,上述​ 案例1 ​中列出的相同套件(模組)會升級至只與2.4.5版相容的較新版本,且不應與2.4.4版搭配使用。

預期結果

從2.4.4版升級至2.4.4-p1版,會產生2.4.4-p1版的正確套件(模組)。

實際結果

從2.4.4版升級至2.4.4-p1版後,套件(模組)會降級。

解決方法1:修補程式

此修補程式已附加至本文。 若要下載,請向下捲動至文章結尾並按一下檔案名稱,或按一下下列連結: 下載ACPLTSRV-2017-fix.sh.zip

相容的Adobe Commerce和Magento Open Source版本:

已建立下列專案的修正程式:

  • 雲端基礎結構上的Adobe Commerce 2.4.4
  • Adobe Commerce內部部署2.4.4
  • Magento Open Source2.4.4
NOTE
此修補程式與任何其他Adobe Commerce和Magento Open Source版本及版本不相容。

如何套用修正程式

使用附加的bash指令碼ACPLTSRV-2017-fix.sh.zip作為此問題的因應措施。

如何使用此指令碼的確切說明:

在雲端基礎結構上的Adobe Commerce上:

  1. 將bash指令碼檔案ACPLTSRV-2017-fix.sh下載到雲端程式碼基底的本機簽出。
  2. 執行bash指令碼檔案ACPLTSRV-2017-fix.sh以在本機修改撰寫器檔案。
  3. 新增修改的撰寫器檔案並將其提交到您的Git存放庫。

在Adobe Commerce或Magento Open Source內部部署上:

  1. 將bash指令碼ACPLTSRV-2017-fix.sh放置在您的Adobe Commerce/Magento Open Source 2.4.4安裝的root資料夾(與composer.json相同的資料夾)中。

  2. 執行含有apply引數的bash指令碼,將受影響的套件(模組)鎖定至其2.4.4版本:

    code language-bash
    sh ACPLTSRV-2017-fix.sh apply
    
  3. 更新執行撰寫器以安裝鎖定的套件(模組)。

  4. 準備好升級至2.4.5或2.4.4-p1後,請使用rollback引數執行指令碼:

    code language-bash
    sh ACPLTSRV-2017-fix.sh rollback
    

    略過此步驟將導致升級錯誤,因為套件(模組)需求發生衝突。

  5. 完成上述步驟後,您就可以開始升級。

因應措施2

此問題的第二個因應措施是不要執行不含任何引數的composer update命令。

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a