執行升級
如果您是透過下列方式安裝軟體,則可以從命令列升級Adobe Commerce應用程式的 內部部署 部署:
- 正在使用
composer create-project
命令下載Composer中繼資料。 - 安裝壓縮的封存。
- 如需雲端基礎結構專案上的Adobe Commerce,請參閱雲端指南中的升級Commerce版本。
- 如果您複製GitHub存放庫,請勿使用此方法來升級。 請參閱升級Git安裝。
下列指示說明如何使用Composer封裝管理員進行升級。 Adobe Commerce 2.4.2推出對Composer 2的支援。 如果您嘗試從<2.4.1升級,您必須先使用Composer 1 升級到Composer 2以進行>2.4.2升級之前,升級到與Composer 2相容的版本(例如,2.4.2)。 此外,您必須執行支援的PHP版本。
magento/composer-root-update-plugin
套件(請參閱必要條件)。 此外,用於升級的命令已從composer require magento/<package_name>
變更為composer require-commerce magento/<package_name>
。開始之前
您必須先完成升級必要條件,才能開始升級程式前準備環境。
管理套件
-
切換到維護模式,以防止在升級過程中存取您的存放區。
code language-bash bin/magento maintenance:enable
-
在非同步處理序(例如訊息佇列取用者)執行時啟動升級處理序,可能會導致資料損毀。 若要防止資料損毀,請停用所有cron工作。
雲端基礎結構上的 Adobe Commerce:
code language-bash ./vendor/bin/ece-tools cron:disable
Magento Open Source:
code language-bash bin/magento cron:remove
-
手動啟動所有訊息佇列取用者,以確保所有訊息都已使用。
code language-bash bin/magento cron:run --group=consumers
等待cron工作完成。 您可以使用程式檢視器或多次執行
ps aux | grep 'bin/magento queue'
命令來監視工作的狀態,直到所有程式完成為止。 -
建立
composer.json
檔案的備份。code language-bash cp composer.json composer.json.bak
-
根據您的需求,新增或移除特定套件。
例如,如果您要從Magento Open Source升級至Adobe Commerce,請移除Magento Open Source套件。
code language-bash composer remove magento/product-community-edition --no-update
您也可以升級範例資料。
code language-bash composer require <sample data module-1>:<version> ... <sample data module-n>:<version> --no-update
-
Adobe Commerce:
code language-bash composer require magento/module-bundle-sample-data:100.4.* magento/module-widget-sample-data:100.4.* magento/module-theme-sample-data:100.4.* magento/module-catalog-sample-data:100.4.* magento/module-customer-sample-data:100.4.* magento/module-cms-sample-data:100.4.* magento/module-catalog-rule-sample-data:100.4.* magento/module-sales-rule-sample-data:100.4.* magento/module-review-sample-data:100.4.* magento/module-tax-sample-data:100.4.* magento/module-sales-sample-data:100.4.* magento/module-grouped-product-sample-data:100.4.* magento/module-downloadable-sample-data:100.4.* magento/module-msrp-sample-data:100.4.* magento/module-configurable-sample-data:100.4.* magento/module-product-links-sample-data:100.4.* magento/module-wishlist-sample-data:100.4.* magento/module-swatches-sample-data:100.4.* magento/sample-data-media:100.4.* magento/module-offline-shipping-sample-data:100.4.* magento/module-gift-card-sample-data:100.4.* magento/module-customer-balance-sample-data:100.4.* magento/module-target-rule-sample-data:100.4.* magento/module-gift-registry-sample-data:100.4.* magento/module-multiple-wishlist-sample-data:100.4.* --no-update
-
Magento Open Source:
code language-bash composer require magento/module-bundle-sample-data:100.4.* magento/module-widget-sample-data:100.4.* magento/module-theme-sample-data:100.4.* magento/module-catalog-sample-data:100.4.* magento/module-customer-sample-data:100.4.* magento/module-cms-sample-data:100.4.* magento/module-catalog-rule-sample-data:100.4.* magento/module-sales-rule-sample-data:100.4.* magento/module-review-sample-data:100.4.* magento/module-tax-sample-data:100.4.* magento/module-sales-sample-data:100.4.* magento/module-grouped-product-sample-data:100.4.* magento/module-downloadable-sample-data:100.4.* magento/module-msrp-sample-data:100.4.* magento/module-configurable-sample-data:100.4.* magento/module-product-links-sample-data:100.4.* magento/module-wishlist-sample-data:100.4.* magento/module-swatches-sample-data:100.4.* magento/sample-data-media:100.4.* magento/module-offline-shipping-sample-data:100.4.* --no-update
-
-
使用下列
composer require-commerce
命令語法升級您的執行個體:code language-bash composer require-commerce magento/<product> <version> --no-update [--interactive-root-conflicts] [--force-root-updates] [--help]
命令選項包括:
-
<product>
— (必要)要升級的套件。 對於內部部署安裝,此值必須是product-community-edition
或product-enterprise-edition
。 -
<version>
— (必要)您要升級至的Adobe Commerce版本。 例如,2.4.3
。 -
--no-update
— (必要)停用相依性的自動更新。 -
--interactive-root-conflicts
— (選擇性)可讓您以互動方式檢視及更新任何舊版中的過期值,或與您要升級至之版本不相符的任何自訂值。 -
--force-root-updates
— (選擇性)以預期的Commerce值覆寫所有衝突的自訂值。 -
--help
— (選擇性)提供外掛程式的使用方式詳細資料。
如果未指定
--interactive-root-conflicts
或--force-root-updates
,則命令會保留衝突的現有值,並顯示警告訊息。 若要進一步瞭解外掛程式,請參閱外掛程式使用方式README。 -
-
更新相依性。
code language-bash composer update
範例 — 列出可用版本
若要檢視可用2.4.x版本的完整清單:
Magento Open Source:
composer show magento/product-community-edition 2.4.* --available | grep -m 1 versions
Adobe Commerce:
composer show magento/product-enterprise-edition 2.4.* --available | grep -m 1 versions
範例 — 品質修補程式
品質修補程式主要包含功能性 和 安全性修正。 但是,它們有時可以包含向後相容的新功能。 使用Composer下載品質修補程式。
Adobe Commerce:
composer require-commerce magento/product-enterprise-edition 2.4.6 --no-update
Magento Open Source:
composer require-commerce magento/product-community-edition 2.4.6 --no-update
範例 — 安全性修補程式
安全性修補程式僅包含安全性修正。 這些設定可讓升級程式更快、更輕鬆。 安全性修補程式使用Composer命名慣例2.4.x-px
。
Adobe Commerce:
composer require-commerce magento/product-enterprise-edition 2.4.6-p3 --no-update
Magento Open Source:
composer require-commerce magento/product-community-edition 2.4.6-p3 --no-update
更新中繼資料
-
視需要更新
composer.json
檔案中的"name"
、"version"
和"description"
欄位。note note NOTE 更新 composer.json
檔案中的中繼資料完全是表面性的,無法運作。 -
套用更新。
code language-bash composer update
-
清除
var/
和generated/
子目錄:code language-bash rm -rf var/cache/*
code language-bash rm -rf var/page_cache/*
code language-bash rm -rf generated/code/*
note note NOTE 如果您使用檔案系統以外的快取儲存體,例如Redis或Memcached,您也必須手動清除其中的快取。 -
更新資料庫結構和資料。
code language-bash bin/magento setup:upgrade
-
停用維護模式。
code language-bash bin/magento maintenance:disable
-
(選擇性) 重新啟動清漆。
如果您使用Varnish來快取頁面,請重新啟動它:
code language-bash service varnish restart
檢查您的工作
若要檢查升級是否成功,請在網頁瀏覽器中開啟店面URL。 如果您的升級不成功,您的店面將無法正確載入。
如果應用程式失敗並出現We're sorry, an error has occurred while generating this email.
錯誤:
-
清除下列目錄:
var/cache/
var/page_cache/
generated/code/
-
再次在網頁瀏覽器中檢視您的店面。