Lors de l'installation de Drupal Commerce 8.x-2.x-dev sur Drupal 8.0.0-rc4, je suis accueilli par les annonces:
Commerce Price requires the commerceguys/intl library.
Commerce Tax requires the commerceguys/tax library.
Address requires the commerceguys/addressing library.
Mais comment faire ça? C'est probablement si évident que je l'oublie.
Téléchargez composer_manager dans votre répertoire de modules.
À partir du répertoire racine Drupal, initialisez composer_manager et exécutez-le pour la première fois:
php modules/composer_manager/scripts/init.php
composer drupal-update
composer dump-autoload
Cela téléchargera les bibliothèques requises dans le répertoire racine du fournisseur /.
Activez les modules maintenant.
J'ai rencontré un problème où même si j'ai installé via composer require commerceguys/addressing
il a récupéré la version stable au lieu de la version requise par drupal/address
, et le message d'erreur prête à confusion.
Cependant, une fois que j'ai confirmé que le module drupal nécessitait une version de développement plutôt que la version stable que j'ai pu installer en changeant la version dans composer.json en ^1.0
au lieu de ^0.8
.
En développement, il est souvent plus facile d'extraire des modules via git dans le répertoire modules plutôt que d'utiliser la complexité des projets composer ou nécessitant via --prefer-source
parce que composer supprimera les répertoires de développement/IDE que vous pouvez utiliser pour pirater ou développer ces modules. Il est donc important de porter une attention particulière au compositeur individuel de ces modules.json et fournissez les versions correctes lors de l'exécution de composer require
dans le répertoire racine drupal.
Nous avons documenté ce processus sur le site Drupal Commerce docs à http://docs.drupalcommerce.org/v2/index.html
Mais voici les instructions pour un site existant
drupal module:download composer_manager;
php modules/contrib/composer_manager/scripts/init.php;
composer drupal-update;
composer dump-autoload;
J'ai compris - encore une fois!
J'ai oublié d'installer le module composer_manager avec Drupal Commerce.
Une fois que le module Composer Manager est en place, tout ce qui concerne ces bibliothèques se passe automatiquement. J'aime ça.