drush cex --skip-modules
a été supprimé en faveur de config_split comme expliqué dans ce numéro, donc les solutions basées sur drush n'ont pas fonctionné pour moi.
Voici la solution basée sur la solution Duncanmoo utilisant le module config_exclude
1. Installez config_exclude à l'aide de Composer require --dev et configurez-le
$ composer require --dev drupal/config_exclude
$ drush en config_exclude -y
$ nano sites/default/setting.php
autorisez settings.php à être utilisé sur votre environnement de développement local
if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
include $app_root . '/' . $site_path . '/settings.local.php';
}
Ajouter des paramètres config_exclude dans un fichier local
$ nano sites/default/setting.local.php
voici quelques exemples de paramètres
$settings['config_exclude_modules'] = [
'devel',
'config_exclude',
'config_filter',
...
'stage_file_proxy',
];
NOTE 1: config_filter est une dépendance config_exclude donc si vous n'en avez pas besoin de production vous pouvez l'exclure ci-dessus
REMARQUE 2: le settings.local.php
n'est pas une exigence. Cela dépend si est contrôlé par votre VCS ou non.
2. Le compositeur requiert --dev
Lorsque vous activez un module qui est purement pour le développement, utilisez le drapeau --dev:
$ composer require --dev drupal/devel
Cela entraîne l'ajout de ces dépendances dans le fichier composer.json sous require-dev:
...
"require-dev": {
"drupal/twig_xdebug": "^1.0",
"drupal/devel": "^1.0@RC"
}
}
Donc, si vous installez le site SANS vos modules de développement que vous utilisez:
$ composer install --no-dev
REMARQUE: Sur vos environnements de production et de production, vous devez toujours faire --no-dev
3. utilisez drush cex comme vous l'utilisez normalement
$ drush cex
n'exportera aucun des paramètres des modules exclus
REMARQUE: j'ai remarqué que les paramètres core.extension semblent avoir été modifiés après avoir exécuté la commande ci-dessus mais le .yml correspondant n'est jamais écrit sur le disque dur (même après confirmation will be deleted and replaced with the active config
) donc il n'y a rien à commettre, je suppose que cela dépend de la internes du module config_exclude
drush
acceptable? J'ai découvert l'autre jourdrush config-export --skip-modules=devel
. Il pourrait y avoir quelque chose de similaire sans utiliser drush, mais je ne sais pas.