Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

Basculer un projet Drupal 8 existant sous Composer

De AJLSM
Version datée du 18 juin 2019 à 08:18 par Jlarvers (discussion | contributions)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche


Voir la documentation : https://www.flocondetoile.fr/blog/basculer-un-projet-drupal-8-existant-sous-composer

Drush doit-être installé.

Ajout des modules

[modifier | modifier le wikicode]

Il est possible de récupérer la liste des modules à installer avec la commande suivante :

drush pml --no-core | grep "Enabled" | awk -F "(" '{print $2}' | awk -F ")" '{print $1}' | xargs -i echo composer require drupal/{}

La sortie dans le terminal ressemble à ceci :

composer require drupal/addtocalendar
composer require drupal/back_to_top
composer require drupal/backup_migrate
composer require drupal/blazy

Il faut ensuite l'adapter, si nécessaire, pour que la commande fonctionne. Par exemple : php composer.phar au lieu de composer.

La commande "require" doit être lancée "relativement" à l'endroit où se trouve composer.phar. Par exemple :

php ../composer.phar require drupal/libraries


Important :
Certaines dépendances ont besoin de version plus ancienne des modules. Dans ce cas, il faut désinstaller le module dont la version est trop descente pour les dépendances, ré-installer les versions supportées, et installées les dépendances..

Ensuite, il faut ajouter les librairies, le thème et les fichiers locaux.

Ajout des librairies

[modifier | modifier le wikicode]

Pour ajouter les libraries dans la gestion des dépendances, on peut choisir entre deux solutions :

Intégration dans composer.json

[modifier | modifier le wikicode]

Pour chaque librairie, il faut ajouter les informations (illustrées dans l'exemple ci-dessous) dans le fichier composer.json, :

"repositories": [
	{
	  "type": "package",
	  "package": {
		"name": "usrz/bootstrap-languages",
		"type": "drupal-library",
		"version": "dev-master",
		"dist": {
		  "url": "https://github.com/usrz/bootstrap-languages/archive/master.zip",
		  "type": "zip"
		}
	  }
     }
],
[...]

Ensuite, on lance la commande :

php composer.phar require usrz/bootstrap-languages

Ajout du plugin composer : Drupal Libraries Installer.

[modifier | modifier le wikicode]

Cette méthode permet de travailler avec les dernières versions des librairies.

Voir la documentation ici : https://packagist.org/packages/balbuf/drupal-libraries-installer. Et https://github.com/composer/installers#custom-install-paths

Les principales commandes :

Ajout de l'installeur :

composer require balbuf/drupal-libraries-installer

Ajouts des librairies dans composer.json.

Par exemple:

"extra": {
       "drupal-libraries": {
            "flexslider": "https://github.com/woocommerce/FlexSlider/archive/2.6.4.zip",
            "chosen": "https://github.com/harvesthq/chosen/releases/download/v1.8.2/chosen_v1.8.2.zip",
            "blazy": "https://github.com/dinbror/blazy/archive/master.zip",
            "jquery-hoverIntent": "https://github.com/briancherne/jquery-hoverIntent/archive/master.zip",
            "cropper": "https://github.com/fengyuanchen/cropper/archive/master.zip",
            "colorbox": "https://github.com/jackmoore/colorbox/archive/master.zip",
            "jquery.cycle2": "https://github.com/malsup/cycle2/archive/master.zip",
            "jquery.cycle": "https://github.com/malsup/cycle/archive/master.zip",
            "json2": "https://github.com/douglascrockford/JSON-js/archive/master.zip",
            "slick": "https://github.com/kenwheeler/slick/archive/master.zip"   
        },
        "installer-paths": {
            [...]
            "web/libraries/{$name}": ["type:drupal-library"],
            [...]
       }

Il est aussi possible de renseigner une version spécifique de la librarie de la façon suivante, en précisant la relation avec l'installeur :

"repositories": [
	{
	  "type": "package",
	  "package": {
		"name": "dinbror/blazy",
		"version": "1.8.2",
		"type": "drupal-library",
		"extra": {
		  "installer-name": "blazy"
		},
		"source": {
		  "type": "git",
		  "url": "https://github.com/dinbror/blazy",
		  "reference": "1.8.2"
		}
	  }
    }
],
[...]

Ensuite, lancer la commande :

php ../composer.phar install