web-dev-qa-db-fra.com

Comment mettre à jour Drupal core sur composer installer?

J'ai installé (ou téléchargé) drupal 8 via:

composer create-project drupal/drupal my_site_name 8.0.*

Qui, au moment où je l'ai exécuté, a téléchargé Drupal 8.0.1. Maintenant drupal 8.0.2 est disponible et je voudrais mettre à jour vers cette version .

Je ne sais pas comment mettre à jour le noyau mais j'ai décidé d'essayer d'exécuter composer update depuis mon drupal.

Cela met à jour de nombreux packages (par exemple):

$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Removing composer/installers (v1.0.21)
  - Installing composer/installers (v1.0.22)
    Loading from cache

> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Removing symfony/class-loader (v2.7.6)
  - Installing symfony/class-loader (v2.7.9)
    Downloading: 100%

> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Removing symfony/console (v2.7.6)
  - Installing symfony/console (v2.7.9)
    Downloading: 100%

(...)

> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Removing twig/twig (v1.23.1)
  - Installing twig/twig (v1.23.3)
    Downloading: 100%

Cependant, je ne vois rien sur la mise à jour drupal/drupal. Et lorsque je visite le rapport d'état de mon site, il affiche toujours 8.0.1.

Alors, comment puis-je réellement mettre à jour le noyau via le compositeur?

8
User

La meilleure façon de commencer avec Drupal 8 est d'utiliser le projet drupal-composer/drupal-project :

composer create-project drupal-composer/drupal-project:8.x-dev some-dir --stability dev --no-interaction

Le projet Composer drupal-composer/drupal-project est structuré différemment du projet drupal/drupal, bien que les deux produisent le même exécutable Drupal site. drupal/drupal utilise le wikimedia/composer-merge-plugin pour inclure le fichier composer.json du répertoire core qui fait partie du drupal/drupal le projet lui-même, qui est un moyen non standard (mais fonctionnel) de charger les dépendances Composer. Le drupal-composer/drupal-project, d'autre part, nécessite le projet Composer drupal/core, qui contient uniquement le répertoire core de drupal/drupal. Cela suit les techniques standard de gestion des dépendances Composer, ce qui facilite l'utilisation de Composer pour gérer les mises à niveau).

Si vous démarrez votre site Drupal en l'utilisant comme projet de base, vous pouvez toujours utiliser composer update pour mettre à jour vos fichiers contrib, exactement comme vous le montrez dans votre question. Pour mettre à jour Drupal core, exécutez:

./scripts/drupal/update-scaffold

Mettez d'abord à jour la version de Drupal core dans votre fichier composer.json, comme décrit dans le readme .

Une fois # 77 fusionné, Drupal core sera automatiquement mis à jour à chaque fois que vous exécutez composer update.

Ceci est discuté plus en détail dans le billet de blog Correction des lacunes dans le processus de mise à jour Composer avec Drupal-Composer .

5
greg_1_anderson