Drupal-Core mit Composer aktualisieren

Drupal lernenDrupal-Glossar

Dieser Artikel setzt voraus, dass Sie Drupal mit einem Composer-Projekt installiert haben, etwa drupal/core-recommended oder drupal/dxpr-marketing-cms-project

Verfügbare Drupal-Updates auflisten

composer outdated "drupal/*"

Wenn es keine Zeile gibt, die beginnt mit drupal/core, kennt Composer kein Update. Wenn es ein Update gibt, fahren Sie mit den Befehlen unten fort.

Eine Sicherung Ihrer Drupal-Instanz erstellen

Wenn Sie eine Live-Website aktualisieren, erstellen Sie vor dem Update immer eine Sicherung, auch wenn Sie das Update erfolgreich in einer Entwicklungs- oder Testumgebung ausprobiert haben. Nutzen Sie die Werkzeuge Ihres Hosting-Anbieters, um eine Sicherung oder einen Snapshot Ihrer Drupal-Site zu erstellen.

Drupal-Core-Code aktualisieren

wenn Sie verwenden drupal/core-recommended:

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

Um das Update zu simulieren und zu zeigen, was passieren würde, ohne tatsächlich etwas zu ändern, fügen Sie --dry-run hinzu.

Auf die neueste Patch-Version von Core aktualisieren

Wenn Sie Ihre Site auf die neueste Patch-Version aktualisieren möchten, aber nicht auf die neueste Minor-Version, dann fügen Sie die --with=-Optionen für jede drupal/core-*-Abhängigkeit hinzu, die in composer.json aufgeführt ist.

Wenn zum Beispiel 10.2 die aktuelle Minor-Version ist und Sie Ihre Site auf die neueste Patch-Version von 10.3 aktualisieren möchten:

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

Dieses Beispiel setzt voraus, dass  drupal/core-recommended und drupal/core-composer-scaffold die einzigen Drupal-Core-Abhängigkeiten sind in composer.json.

Auf eine bestimmte Version von Core aktualisieren

Grundsätzlich empfehlen wir, beim Aktualisieren keine bestimmte Version von Drupal Core anzugeben, es sei denn, Sie wissen, dass Sie eine bestimmte Version fixieren möchten. Wenn Sie Ihre Site auf eine bestimmte Version fixieren möchten, können Sie das folgende Beispiel nutzen: 

Um Ihre Site auf Version 10.3.6 zu fixieren und alle Abhängigkeiten entsprechend zu aktualisieren: 

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

Warnung: Wenn Sie Ihre Site auf eine bestimmte Core-Version fixieren, wird diese Version zur Lock-Datei hinzugefügt, und künftige Updates gehen nicht über diese Version hinaus. Führen Sie den Require-Befehl wie unten angegeben erneut aus, um zu einer nicht fixierten („unpinned") Version von Core zurückzukehren.

Fixierung auf eine bestimmte Core-Version aufheben

Wenn Sie eine fixierte Version von Drupal Core betreiben und Ihre Site auf eine andere Version aktualisieren möchten, haben Sie zwei Möglichkeiten.

  1. Sie können den obigen Composer-Require-Befehl ausführen, um eine neue, fixierte Version von Core anzugeben. 
  2. Sie können die Fixierung Ihrer Core-Version aufheben und auf die neueste Version von Drupal aktualisieren.

Um die Fixierung Ihrer Drupal-Version aufzuheben, führen Sie diesen Befehl aus: 

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

Datenbank-Updates ausführen

Der Einfachheit halber haben wir die Drush-Befehle aufgenommen, die nötig sind, um ein Update abzuschließen; viele finden Drush schneller und einfacher als den webbasierten Admin-Bereich.

Sie können entweder Drush nutzen:

drush updatedb
drush cache:rebuild

Oder rufen Sie [YOUR DOMAIN]/update.php in einem Browser auf.