J'utilise Drupal depuis plusieurs années, mais je ne fais que me plonger dans Drush - j'ai acheté un tutoriel d'ebook et je me suis frayé un chemin. J'ai installé Composer et utilisé pour installer Drush. Le livre du didacticiel spécifiait une version particulière de Drush à installer (7.0.0-alpha5). J'ai accédé à un dossier drupal et exécuté
drush st
pour obtenir des informations d'installation qui fonctionnent bien. Le tutoriel explique que vous n'avez pas à naviguer dans le dossier drupal pour ce faire, à la place en utilisant
drush --root=PATH-TO-DRUPAL-SITE st
mais cela apporte une erreur:
Fatal error: Call to undefined function conf_path()
La recherche sur cette erreur suggère qu'il s'agit d'un problème avec la version de Drush et la mise à niveau.
J'ai donc navigué dans le dossier .composer/vendor/drush/drush et exécuté composer mise à jour globale mais composer ne dit rien à mettre à jour, confirmant la version comme 7.0.0-alpha5 - Je suppose que ce n'est pas la dernière version 7.x, ai-je donc besoin de quelque chose à changer dans le fichier composer.json?
Si vous souhaitez mettre à jour vos installations globales de n'importe quel package sous composer, vous pouvez simplement faire ceci:
composer global update
Vous n'avez pas besoin de naviguer vers .composer/vendor/drush/drush
Cependant: Il y a deux ou trois choses:
1) Votre fichier global composer.json peut avoir une contrainte de version.
Consultez la page packagist de drush: https://packagist.org/packages/drush/drush
Cela vous montrera les versions disponibles de drush.
Éditer ~/.composer/composer.json
pour que la contrainte de version pour drush/drush
est plus élevé que celui que vous avez. Probablement quelque chose comme "~8"
.
Faire composer global update
.
2) Il est préférable d'installer drush par projet.
Les raisons pour lesquelles sont un peu complexes et peuvent ne pas répondre à la question ici, je vais donc simplement créer un lien vers un article: https://pantheon.io/blog/composer-vs-drush-make-which-should -vous utilisez
J'ajouterais que, selon vos besoins, composer global update
peut ne pas vous amener à la version dont vous avez besoin. Je l'avais exécuté et j'arrivais seulement à la version 8.1.8.
Pour mes besoins, j'avais besoin de 8.1.14, au minimum. Depuis la dernière version stable était 8.1.15 à partir de maintenant, j'ai simplement exécuté ceci: composer require drush/drush:8.1.15
. Cela s'est bien passé, puis en vérifiant par drush --version
, qui a alors enregistré la version appropriée.
Pour mettre à jour Drush à l'aide de composer, accédez à la racine de votre projet , puis utilisez
composer update drush/drush
Notez que la méthode d'installation et d'exécution de Drush a changé de manière assez importante (je pense que depuis la sortie de Drush 9). Heureusement, la gestion de Drush est désormais beaucoup moins unique à Drush et ressemble beaucoup plus à ce que vous faites avec d'autres logiciels.
Voir les documents officiels: Installer un Drush et Drush Launcher local-site