drush cex --skip-modules
został usunięty na korzyść config_split, jak wyjaśniono w tym numerze, więc tutaj rozwiązania oparte na drushie nie zadziałały dla mnie.
Oto rozwiązanie oparte na rozwiązaniu Duncanmoo wykorzystującym moduł config_exclude
1. Zainstaluj config_exclude za pomocą Composera --dev i skonfiguruj go
$ composer require --dev drupal/config_exclude
$ drush en config_exclude -y
$ nano sites/default/setting.php
zezwól na użycie pliku settings.php w lokalnym środowisku programistycznym
if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
include $app_root . '/' . $site_path . '/settings.local.php';
}
Dodaj ustawienia config_exclude do pliku lokalnego
$ nano sites/default/setting.local.php
oto kilka przykładowych ustawień
$settings['config_exclude_modules'] = [
'devel',
'config_exclude',
'config_filter',
...
'stage_file_proxy',
];
UWAGA 1: config_filter jest zależnością config_exclude, więc jeśli nie potrzebujesz jej produkcji, możesz wykluczyć ją powyżej
UWAGA 2: Nie settings.local.php
jest to wymóg. Zależy to od tego, czy jest kontrolowany przez VCS, czy nie.
2. Kompozytor wymaga --dev
Włączając moduł przeznaczony wyłącznie do programowania, użyj flagi --dev:
$ composer require --dev drupal/devel
Powoduje to dodanie tych zależności do pliku composer.json w ramach wymagania-dev:
...
"require-dev": {
"drupal/twig_xdebug": "^1.0",
"drupal/devel": "^1.0@RC"
}
}
Więc jeśli zainstalujesz witrynę BEZ modułów deweloperskich, których używasz:
$ composer install --no-dev
UWAGA: W środowiskach inscenizacyjnych i prod powinieneś zawsze robić --no-dev
3. używaj drush cex jak zwykle
$ drush cex
nie wyeksportuje żadnego z wykluczonych ustawień modułów
UWAGA: Zauważyłem, że ustawienia core.extension wydają się zostać zmodyfikowane po uruchomieniu powyższej komendy, ale odpowiedni plik .yml nigdy nie jest zapisywany na dysku twardym (nawet po potwierdzeniu will be deleted and replaced with the active config
), więc nie ma nic do zatwierdzenia , myślę, że zależy to od elementy wewnętrzne modułu config_exclude
drush
dopuszczalne? Dowiedziałem się innego dniadrush config-export --skip-modules=devel
. Może być coś podobnego bez używania drusha, ale nie wiem.