Aggiornare il core di Drupal con Composer

Impara DrupalGlossario Drupal

Questo articolo presuppone che tu abbia installato Drupal con un progetto Composer come drupal/core-recommended o drupal/dxpr-marketing-cms-project

Elenca gli aggiornamenti Drupal disponibili

composer outdated "drupal/*"

Se non c’è nessuna riga che inizia con drupal/core, Composer non conosce alcun aggiornamento. Se c’è un aggiornamento, continua con i comandi qui sotto

Crea un backup della tua istanza Drupal

Quando aggiorni un sito in produzione, crea sempre un backup prima dell’aggiornamento, anche se lo hai già provato con successo in un ambiente di sviluppo o test. Usa gli strumenti del tuo provider di hosting per creare un backup o uno snapshot del tuo sito Drupal.

Aggiorna il codice del core di Drupal

se usi drupal/core-recommended:

composer update "drupal/core-*" --with-all-dependencies

Per simulare l’aggiornamento e vedere cosa succederebbe, senza cambiare nulla, aggiungi --dry-run.

Aggiorna all’ultima patch del core

Se vuoi aggiornare il sito all’ultima patch, ma non all’ultima minor, aggiungi le opzioni --with= per ogni dipendenza drupal/core-* elencata in composer.json.

Per esempio, se 10.2 è la minor attuale e vuoi aggiornare il sito all’ultima patch della 10.3:

composer update "drupal/core-*" --with-all-dependencies --with=drupal/core-recommended:~10.3.0 --with=drupal/core-composer-scaffold:~10.3.0

Questo esempio presuppone che  drupal/core-recommended e drupal/core-composer-scaffold siano le uniche dipendenze del core di Drupal in composer.json.

Aggiorna a una versione specifica del core

In generale, consigliamo di non specificare una versione precisa del core di Drupal durante l’aggiornamento, a meno che tu non voglia fissarti su una versione specifica. Se vuoi fissare il sito su una versione specifica, segui l’esempio qui sotto: 

Per fissare il sito alla versione 10.3.6 e aggiornare tutte le dipendenze di conseguenza: 

composer require drupal/core-recommended:10.3.6 drupal/core-composer-scaffold:10.3.6 drupal/core-project-message:10.3.6 --update-with-all-dependencies

Attenzione: se fissi il sito su una versione specifica del core, quella versione è aggiunta al lock file e gli aggiornamenti futuri non andranno oltre. Riesegui il comando require come indicato qui sotto per tornare a una versione "libera" del core.

Rimuovere il blocco su una versione specifica del core

Se il sito è bloccato su una versione del core di Drupal e vuoi aggiornarlo a un’altra versione, hai due scelte.

  1. Puoi eseguire il comando composer require qui sopra per specificare una nuova versione bloccata del core. 
  2. Puoi sbloccare la versione del core e aggiornare all’ultima versione di Drupal.

Per sbloccare la versione di Drupal, esegui questo comando: 

composer require drupal/core-recommended drupal/core-composer-scaffold drupal/core-project-message --update-with-all-dependencies

Esegui gli aggiornamenti del database

Per comodità abbiamo incluso i comandi Drush necessari per completare un aggiornamento: molti trovano Drush più rapido e semplice dell’area di amministrazione web.

Puoi usare drush:

drush updatedb
drush cache:rebuild

Oppure puoi visitare [YOUR DOMAIN]/update.php nel browser.