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.
NOTE

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.

WARNING
La procedura per l’aggiornamento di Adobe Commerce è stata modificata. È necessario installare una nuova versione del pacchetto 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

NOTE
Consulta gli esempi alla fine di questa sezione per informazioni su come specificare diversi livelli di rilascio. Ad esempio, patch di qualità e di sicurezza. Se non riesci a trovare questi pacchetti nel Compositore, contatta il supporto Adobe Commerce.
  1. 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.

  2. 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
    
  3. 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.

  4. Creare un backup del file composer.json.

    code language-bash
    cp composer.json composer.json.bak
    
  5. 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
      
  6. 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 essere product-community-edition o product-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--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.

  7. 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

  1. Aggiornare i campi "name", "version" e "description" nel file composer.json in base alle esigenze.

    note note
    NOTE
    L'aggiornamento dei metadati nel file composer.json è del tutto superficiale e non funziona.
  2. Applicare gli aggiornamenti.

    code language-bash
    composer update
    
  3. Cancella le sottodirectory var/ e 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
    Se si utilizza un archivio cache diverso dal file system, ad esempio Redis o Memcached, è necessario cancellare manualmente la cache anche in questo caso.
  4. Aggiornare lo schema e i dati del database.

    code language-bash
    bin/magento setup:upgrade
    
  5. Disattiva la modalità di manutenzione.

    code language-bash
    bin/magento maintenance:disable
    
  6. (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.:

  1. Reimposta la proprietà e le autorizzazioni del file system 🔗 come utente con privilegi root.

  2. Cancella le directory seguenti:

    • var/cache/
    • var/page_cache/
    • generated/code/
  3. Controlla di nuovo la vetrina nel browser.

recommendation-more-help
83a60e0e-8849-4685-a8cd-c129ecd795ea