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 » : différence entre les versions

De AJLSM
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
(7 versions intermédiaires par le même utilisateur non affichées)
Ligne 7 : Ligne 7 :
Il est possible de récupérer la liste des modules à installer avec la commande suivante :
Il est possible de récupérer la liste des modules à installer avec la commande suivante :
<syntaxhighlight lang="bash">drush pml --no-core | grep "Enabled" | awk -F "(" '{print $2}' | awk -F ")" '{print $1}' | xargs -i echo composer require drupal/{}</syntaxhighlight>
<syntaxhighlight lang="bash">drush pml --no-core | grep "Enabled" | awk -F "(" '{print $2}' | awk -F ")" '{print $1}' | xargs -i echo composer require drupal/{}</syntaxhighlight>
Il faut ensuite l'adapter.
La sortie dans le terminal ressemble à ceci :
<syntaxhighlight lang="bash">composer require drupal/addtocalendar
composer require drupal/back_to_top
composer require drupal/backup_migrate
composer require drupal/blazy</syntaxhighlight>
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 {{path|composer.phar}}. Par exemple :
La commande "require" doit être lancée "relativement" à l'endroit où se trouve {{path|composer.phar}}. Par exemple :
Ligne 15 : Ligne 20 :


Ensuite, il faut ajouter les librairies, le thème et les fichiers locaux.
Ensuite, il faut ajouter les librairies, le thème et les fichiers locaux.
== Ajout des librairies ==
== Ajout des librairies ==
Pour ajouter les libraries dans la gestion des dépendances, on peut ajouter le plugin composer : Drupal Libraries Installer.
Pour ajouter les libraries dans la gestion des dépendances, on peut choisir entre deux solutions :
=== Intégration dans composer.json ===
Pour chaque librairie, il faut ajouter les informations (illustrées dans l'exemple ci-dessous) dans le fichier {{path|composer.json}}, :
<syntaxhighlight lang="bash">"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"
}
  }
    }
],
[...]</syntaxhighlight>
Ensuite, on lance la commande :
<syntaxhighlight lang="bash">php composer.phar require usrz/bootstrap-languages</syntaxhighlight>
 
=== Ajout du plugin composer : Drupal Libraries Installer. ===
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.
Voir la documentation ici : https://packagist.org/packages/balbuf/drupal-libraries-installer.
Et https://github.com/composer/installers#custom-install-paths
'''Les principales commandes :'''
'''Les principales commandes :'''


Ajout de l'installeur :
Ajout de l'installeur :
<syntaxhighlight lang="bash">composer require balbuf/drupal-libraries-installer</syntaxhighlight>
<syntaxhighlight lang="bash">composer require balbuf/drupal-libraries-installer</syntaxhighlight>
Ajouts des librairies dans composer.json
Ajouts des librairies dans composer.json.
 
'''Par exemple:'''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
"extra": {
"extra": {
            "drupal-libraries": {
      "drupal-libraries": {
             "flexslider": "https://github.com/woocommerce/FlexSlider/archive/2.6.4.zip",
             "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",
             "chosen": "https://github.com/harvesthq/chosen/releases/download/v1.8.2/chosen_v1.8.2.zip",
Ligne 36 : Ligne 69 :
             "json2": "https://github.com/douglascrockford/JSON-js/archive/master.zip",
             "json2": "https://github.com/douglascrockford/JSON-js/archive/master.zip",
             "slick": "https://github.com/kenwheeler/slick/archive/master.zip"   
             "slick": "https://github.com/kenwheeler/slick/archive/master.zip"   
         }</syntaxhighlight>
         },
        "installer-paths": {
            [...]
            "web/libraries/{$name}": ["type:drupal-library"],
            [...]
      }</syntaxhighlight>
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 :
<syntaxhighlight lang="bash">"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"
}
  }
    }
],
[...]</syntaxhighlight>
Ensuite, lancer la commande :
<syntaxhighlight lang="bash">php ../composer.phar install</syntaxhighlight>

Dernière version du 18 juin 2019 à 08:18


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