J'ai installé un site Drupal 8.2.0 avec composer create-project drupal/drupal testsite
.
Maintenant, je voudrais le mettre à jour vers Drupal 8.2.1. Cependant, la course composer update drupal/drupal
ne fonctionne pas. Il imprime l'erreur suivante:
Le package "drupal / drupal" répertorié pour la mise à jour n'est pas installé. Ignorer.
Comment puis-je faire cela? Le support est clairement documenté dans example.gitignore.
# Ignore core when managing all of a project's dependencies with Composer
# including Drupal core.
# core
Il doit donc y avoir un moyen de le faire avec le compositeur, mais comment?
Je pense que je l'ai résolu. J'ai pensé que j'aurais besoin d'un autre fichier root composer.json qui a extrait le paquet drupal au lieu de le remplacer, mais je ne savais pas comment le faire.
Heureusement, quelqu'un a déjà fait cela et a reconditionné Drupal d'une manière conviviale pour le compositeur: https://github.com/drupal-composer/drupal-project (Pas de version stable pour l'instant, apparemment.)
En utilisant,
composer create-project drupal-composer/drupal-project:8.x-dev --stability dev drupal-dir
j'ai pu obtenir une installation qui peut être mise à jour avec composer.la source
composer create-project
utilise le projet demandé comme modèle pour le nouveau projet, donc lors de votre première tentative, git.drupal.org/project/drupal.git a été utilisé comme modèle pour votre nouveau projet. L'utilisation de github.com/drupal-composer/drupal-project comme modèle à la place fait de Drupal une partie du projet. En fait, au lieu d'utiliserdrupal/drupal
, il utilisedrupal/core
(pour le répertoire principal) etdrupal-composer/drupal-scaffold
pour les autres fichiers importants comme index.php et .htaccess.La commande
composer create-project
clone le package demandé, qui dans ce cas est https://git.drupal.org/project/drupal.git . À la fin du processus de création de projet, vous devez être invité à supprimer l'historique VCS existant. Si vous avez répondun
, vous aurez un moyen de mettre à jour à partir du référentiel Drupal en amont. Accédez à testsite et utilisez git pour récupérer et vérifier la version de Drupal que vous souhaitez. Ensuite, exécutezcomposer install
pour obtenir les dépendances identifiées dans composer.json et composer.lock de la version mise à jour de Drupal.la source
Sur la ligne de commande, nous devions exiger un noyau drupal (à remplacer par votre version):
Dans le fichier composer.json sous replace, nous avons dû supprimer "drupal / core": "^ 8.6", donc replace ressemble à:
dans notre fichier composer.json maintenant. Nous avons ensuite couru:
et drupal mis à jour vers la dernière version.
la source