從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
如何套用修正程式
使用附加的bash指令碼ACPLTSRV-2017-fix.sh.zip作為此問題的因應措施。
如何使用此指令碼的確切說明:
在雲端基礎結構上的Adobe Commerce上:
- 將bash指令碼檔案
ACPLTSRV-2017-fix.sh
下載到雲端程式碼基底的本機簽出。 - 執行bash指令碼檔案
ACPLTSRV-2017-fix.sh
以在本機修改撰寫器檔案。 - 新增修改的撰寫器檔案並將其提交到您的Git存放庫。
在Adobe Commerce或Magento Open Source內部部署上:
-
將bash指令碼
ACPLTSRV-2017-fix.sh
放置在您的Adobe Commerce/Magento Open Source 2.4.4安裝的root
資料夾(與composer.json
相同的資料夾)中。 -
執行含有
apply
引數的bash指令碼,將受影響的套件(模組)鎖定至其2.4.4版本:code language-bash sh ACPLTSRV-2017-fix.sh apply
-
更新執行撰寫器以安裝鎖定的套件(模組)。
-
準備好升級至2.4.5或2.4.4-p1後,請使用
rollback
引數執行指令碼:code language-bash sh ACPLTSRV-2017-fix.sh rollback
略過此步驟將導致升級錯誤,因為套件(模組)需求發生衝突。
-
完成上述步驟後,您就可以開始升級。
因應措施2
此問題的第二個因應措施是不要執行不含任何引數的composer update
命令。