J'ai installé un site Drupal 8.2.0 avec composer create-project drupal/drupal testsite
.
Maintenant, je voudrais le mettre à niveau vers Drupal 8.2.1. Cependant, exécuter 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 récupère le package drupal au lieu de le remplacer, mais je ne savais pas comment le faire.
Heureusement, quelqu'un a déjà fait cela et reconditionné Drupal de manière conviviale pour le compositeur: https://github.com/drupal-composer/drupal-project (Non version stable encore, 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.
Edit: ce n'est probablement pas utile b/c je viens de relire votre déclaration et vous n'aviez pas le même cas que le mien d'où je venais d'une ancienne Drupal 8 installation mais je vais laissez cela au cas où quelqu'un d'autre aurait ce problème et essayez de voir si je peux trouver le problème spécifique que vous rencontrez. Désolé.
J'ai eu ce problème lors d'une récente mise à jour et c'était mon problème, mais YMMV, donc si cela ne fonctionne pas, faites le moi savoir.
Cela peut être dû au fait que vous composer est défini sur l'ancienne liste de référentiel sur composer.org. Récemment, Drupal a installé son propre composer endpoints, un pour Drupal 7 et un autre pour Drupal 8. Vous pouvez en savoir plus sur ce changement ici: https : //www.drupal.org/docs/develop/using-composer/using-composer-to-install-drupal-packages-through-drupalorg
Il s'agit de la commande qui doit être exécutée pour échanger le référentiel sur Drupal.org.
$ composer config repositories.0
$ composer https://packages.drupal.org/8
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épondu n
, vous aurez un moyen de mettre à jour à partir du référentiel amont drupal. Naviguez dans testsite et utilisez git pour récupérer et vérifier la version de Drupal vous voulez. Ensuite, exécutez composer install
pour obtenir les dépendances identifiées dans composer.json et composer.lock de la version mise à jour de Drupal.
Sur la ligne de commande, nous avons dû exiger drupal core (remplacer par votre version):
composer require drupal/core:8.6.3 --update-with-dependencies
Dans le fichier composer.json sous replace, nous avons dû supprimer "drupal/core": "^ 8.6", donc replace ressemble à:
"replace": {
},
dans notre fichier composer.json maintenant. Nous avons ensuite couru:
composer update
et drupal mis à jour vers la dernière version.