drush cex --skip-modules
було видалено на користь config_split, як пояснено в цьому питанні, тому рішення, засновані на барабані, не працювали для мене.
Ось рішення, засноване на рішенні Duncanmoo з використанням модуля config_exclude
1. Встановіть config_exclude за допомогою Composer need --dev та налаштуйте його
$ composer require --dev drupal/config_exclude
$ drush en config_exclude -y
$ nano sites/default/setting.php
дозволити використовувати settings.php у вашому локальному середовищі розробників
if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
include $app_root . '/' . $site_path . '/settings.local.php';
}
Додати параметри config_exclude у локальний файл
$ nano sites/default/setting.local.php
ось декілька прикладних налаштувань
$settings['config_exclude_modules'] = [
'devel',
'config_exclude',
'config_filter',
...
'stage_file_proxy',
];
ПРИМІТКА1 : config_filter - це config_exclude залежність, тому якщо вам це не потрібно, ви можете виключити його вище
ПРИМІТКА2 . settings.local.php
Це не є вимогою. Це залежить від того, контролюється він чи ні.
2. Композитор вимагає --дев
Увімкнувши модуль, призначений виключно для розробки, використовуйте прапор --dev:
$ composer require --dev drupal/devel
Це призводить до того, що ці залежності додаються до файлу composer.json під вимогою-dev:
...
"require-dev": {
"drupal/twig_xdebug": "^1.0",
"drupal/devel": "^1.0@RC"
}
}
Тож якщо ви встановлюєте сайт БЕЗ своїх розроблених модулів:
$ composer install --no-dev
ПРИМІТКА. У ваших середовищах постановки та продажі завжди слід робити --no-dev
3. використовуйте drush cex як звичайно
$ drush cex
не експортує жодне з виключених параметрів модулів
ПРИМІТКА. Я помітив, що налаштування core.extension були змінені після запуску команди вище, але відповідний .yml ніколи не записується на жорсткий диск (навіть після підтвердження will be deleted and replaced with the active config
), тому нічого не потрібно робити, я думаю, це залежить від внутрішній модуль config_exclude
drush
прийнятним? Я дізнався днями оdrush config-export --skip-modules=devel
. Можливо, буде щось подібне без використання барабану, але я не знаю.