comment installer le package via le compositeur?

8

Je voudrais ajouter une bibliothèque à mon module personnalisé drupal 7. La bibliothèque peut être installée via Composer, mais je ne trouve pas de solution d'installation? Comment installer cette bibliothèque? J'ai installé "composer manager" mais je n'arrive toujours pas à le faire fonctionner.

gregab
la source
J'aimerais aussi connaître la réponse à cette question.
itsdarrylnorris
1
En désaccord avec le vote serré à ce sujet. Comment utiliser Composer avec Drupal est définitivement un sujet.
mpdonadio

Réponses:

6

Pour commencer, ajoutez un composer.jsonfichier à votre module. La seule chose dont vous avez besoin ici est la requiresection qui comprend votre bibliothèque externe.

Composer managerest un moyen de combiner toutes vos dépendances, mais il existe d'autres options pour que Drupal charge votre fichier autoload.php. La technique que je préfère est de créer un composer.jsonfichier au niveau du projet dans votre racine Drupal, et d'utiliser le module composer_vendor pour inclure votre fichier autoload.php.

La façon la plus simple de commencer est d'utiliser l' extension composer_generate Drush pour créer votre composer.jsonfichier au niveau du projet .

$ drush dl composer_generate $ cd /path/to/drupalroot $ drush composer-generate > composer.json $ composer install

Composer-generate ajoutera tous les projets actuellement utilisés dans votre site Drupal, ainsi que composer_vendor, donc composer installdevrait fonctionner pour vous. La magie principale réside dans les chargeurs automatiques personnalisés ajoutés au modèle; jetez un oeil à la sortie pour voir ce qui était inclus.

Il faut bien sûr faire preuve de prudence ici; le modèle par défaut mettra tous vos modules dans sites / all / modules / contrib. Vous pouvez modifier le modèle avant d'exécuter l'installation de composer si ce n'est pas ce que vous souhaitez.

Vous devrez également faire attention si vous avez des modules modifiés; il existe un certain nombre de façons de gérer tout contenu piraté, mais cela dépasse un peu la portée de cette question.

Mise à jour

Si vous ne souhaitez pas exécuter Drush, vous pouvez également taper à la main votre propre fichier composer.json à l'aide du projet https://github.com/drupal-composer/drupal-project . Il s'agit du modèle sur lequel est basé le générateur.

greg_1_anderson
la source
nous n'utilisons pas le drush. Il s'agit de cette lib: github.com/giggsey/libphonenumber-for-php
gregab
Vous pouvez installer Drush et l'utiliser uniquement pour télécharger et exécuter l'outil composer_generate. Ce serait plus rapide que de taper à la main votre propre fichier composer.json.
greg_1_anderson
@ greg_1_anderson ajoutant à la question principale, comment pouvons-nous charger le fournisseur autoload.php pour une API tierce?
Sukhjinder Singh
Drupal 8 chargera l'autochargeur pour vous, donc je suppose que vous posez des questions sur Drupal 7. Soit utilisez le module composer_vendor que je recommande ci-dessus, soit ajoutez simplement l'inclusion à votre fichier settings.php.
greg_1_anderson