Eseguire un aggiornamento
È possibile aggiornare distribuzioni locali dell'applicazione Adobe Commerce dalla riga di comando se il software è stato installato da:
- Download del metapacchetto Compositore tramite il comando
composer create-project
. - Installazione dell'archivio compresso.
- Per i progetti Adobe Commerce su infrastrutture cloud, consulta Aggiornare Commerce versione nella Guida al cloud.
- Non utilizzare questo metodo per eseguire l’aggiornamento se hai clonato l’archivio GitHub. Consulta Aggiornare un'installazione basata su Git.
Le istruzioni seguenti spiegano come eseguire l’aggiornamento utilizzando Gestione pacchetti Compositore. Adobe Commerce 2.4.2 ha introdotto il supporto per Composer 2. Se si sta tentando di eseguire l'aggiornamento da <2.4.1, è necessario eseguire prima l'aggiornamento a una versione compatibile con Composer 2 (ad esempio, 2.4.2) utilizzando Composer 1 prima dell'aggiornamento a Composer 2 per gli aggiornamenti >2.4.2. Inoltre, devi eseguire una versione supportata di PHP.
magento/composer-root-update-plugin
(vedere prerequisiti). Inoltre, i comandi per l'aggiornamento sono cambiati da composer require magento/<package_name>
a composer require-commerce magento/<package_name>
.Prima di iniziare
Devi completare i prerequisiti per l'aggiornamento per preparare l'ambiente prima di avviare il processo di aggiornamento.
Gestire i pacchetti
-
Passa alla modalità di manutenzione per impedire l’accesso allo store durante il processo di aggiornamento.
code language-bash bin/magento maintenance:enable
Per ulteriori opzioni, vedere Attivare o disattivare la modalità di manutenzione. In alternativa, è possibile creare una pagina modalità di manutenzione personalizzata.
-
L’avvio del processo di aggiornamento durante l’esecuzione di processi asincroni, come ad esempio i consumer della coda di messaggi, può causare il danneggiamento dei dati. Per evitare il danneggiamento dei dati, disabilita tutti i processi cron.
Adobe Commerce sull'infrastruttura cloud:
code language-bash ./vendor/bin/ece-tools cron:disable
Magento Open Source:
code language-bash bin/magento cron:remove
-
Avvia manualmente tutti i consumer della coda di messaggi per garantire che tutti i messaggi vengano utilizzati.
code language-bash bin/magento cron:run --group=consumers
Attendere il completamento del processo cron. È possibile monitorare lo stato del processo con un visualizzatore di processi o eseguendo più volte il comando
ps aux | grep 'bin/magento queue'
fino al completamento di tutti i processi. -
Creare un backup del file
composer.json
.code language-bash cp composer.json composer.json.bak
-
Aggiungi o rimuovi pacchetti specifici in base alle tue esigenze.
Se ad esempio si esegue l'aggiornamento da Magento Open Source ad Adobe Commerce, rimuovere il pacchetto di Magento Open Source.
code language-bash composer remove magento/product-community-edition --no-update
Puoi anche aggiornare i dati di esempio.
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
-
-
Aggiorna l'istanza utilizzando la seguente sintassi di comando
composer require-commerce
:code language-bash composer require-commerce magento/<product> <version> --no-update [--interactive-root-conflicts] [--force-root-updates] [--help]
Le opzioni di comando includono:
-
<product>
—(Obbligatorio) Pacchetto da aggiornare. Per le installazioni locali, il valore deve essereproduct-community-edition
oproduct-enterprise-edition
. -
<version>
—(Obbligatorio) versione di Adobe Commerce a cui si sta eseguendo l'aggiornamento. Ad esempio,2.4.3
. -
--no-update
-(Obbligatorio) Disabilita l'aggiornamento automatico delle dipendenze. -
--interactive-root-conflicts
-(Facoltativo) Consente di visualizzare e aggiornare in modo interattivo tutti i valori obsoleti delle versioni precedenti o qualsiasi valore personalizzato che non corrisponde alla versione a cui si sta eseguendo l'aggiornamento. -
--force-root-updates
-(Facoltativo) Esegue l'override di tutti i valori personalizzati in conflitto con i valori Commerce previsti. -
--help
-(Facoltativo) Fornisce dettagli sull'utilizzo del plug-in.
Se non vengono specificati né
--interactive-root-conflicts
né--force-root-updates
, il comando mantiene i valori esistenti in conflitto e visualizza un messaggio di avviso. Per ulteriori informazioni sul plug-in, consulta il File README sull'utilizzo del plug-in. -
-
Aggiornare le dipendenze.
code language-bash composer update
Esempio: elenco delle versioni disponibili
Per visualizzare l’elenco completo delle versioni 2.4.x disponibili:
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
Esempio: patch di qualità
Le patch di qualità contengono principalmente e correzioni di sicurezza funzionali. Tuttavia, a volte possono contenere nuove funzioni compatibili con le versioni precedenti. Utilizza Composer per scaricare una patch di qualità.
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
Esempio: patch di sicurezza
Le patch di sicurezza contengono solo correzioni di sicurezza. Sono progettati per rendere il processo di aggiornamento più rapido e semplice. Le patch di sicurezza utilizzano la convenzione di denominazione del Compositore 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
Aggiorna metadati
-
Aggiornare i campi
"name"
,"version"
e"description"
nel filecomposer.json
in base alle esigenze.note note NOTE L'aggiornamento dei metadati nel file composer.json
è del tutto superficiale e non funziona. -
Applicare gli aggiornamenti.
code language-bash composer update
-
Cancella le sottodirectory
var/
egenerated/
: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 Se si utilizza un archivio cache diverso dal file system, ad esempio Redis o Memcached, è necessario cancellare manualmente la cache anche in questo caso. -
Aggiornare lo schema e i dati del database.
code language-bash bin/magento setup:upgrade
-
Disattiva la modalità di manutenzione.
code language-bash bin/magento maintenance:disable
-
(Facoltativo) Riavviare Vernice.
Se utilizzi Vernice per il caching delle pagine, riavviala:
code language-bash service varnish restart
Verifica il tuo lavoro
Per verificare se l’aggiornamento è stato eseguito correttamente, apri l’URL della vetrina in un browser web. Se l'aggiornamento non è riuscito, la vetrina non si carica correttamente.
Se l'applicazione non riesce con un errore We're sorry, an error has occurred while generating this email.
:
-
Reimposta la proprietà e le autorizzazioni del file system 🔗 come utente con privilegi
root
. -
Cancella le directory seguenti:
var/cache/
var/page_cache/
generated/code/
-
Controlla di nuovo la vetrina nel browser.