drush cex --skip-modules
wurde zugunsten von config_split entfernt, wie in dieser Ausgabe erläutert , daher haben die hier auf drush basierenden Lösungen für mich nicht funktioniert.
Hier ist die Lösung basierend auf der Duncanmoo-Lösung mit dem config_exclude- Modul
1. Installieren Sie config_exclude mit Composer require --dev und konfigurieren Sie es
$ composer require --dev drupal/config_exclude
$ drush en config_exclude -y
$ nano sites/default/setting.php
Erlaube settings.php in deiner lokalen Entwicklungsumgebung zu verwenden
if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
include $app_root . '/' . $site_path . '/settings.local.php';
}
Fügen Sie config_exclude-Einstellungen in die lokale Datei ein
$ nano sites/default/setting.local.php
Hier sind einige Beispieleinstellungen
$settings['config_exclude_modules'] = [
'devel',
'config_exclude',
'config_filter',
...
'stage_file_proxy',
];
HINWEIS 1: config_filter ist eine config_exclude-Abhängigkeit. Wenn Sie es also nicht benötigen, können Sie es oben ausschließen
Hinweis 2: Die settings.local.php
ist nicht erforderlich. Es hängt davon ab, ob Ihr VCS dies steuert oder nicht.
2. Der Komponist benötigt --dev
Wenn Sie ein Modul aktivieren, das nur für die Entwicklung vorgesehen ist, verwenden Sie das Flag --dev:
$ composer require --dev drupal/devel
Dies führt dazu, dass diese Abhängigkeiten in die Datei composer.json unter require-dev eingefügt werden:
...
"require-dev": {
"drupal/twig_xdebug": "^1.0",
"drupal/devel": "^1.0@RC"
}
}
Wenn Sie die Site also OHNE die von Ihnen verwendeten Dev-Module installieren, gehen Sie wie folgt vor:
$ composer install --no-dev
HINWEIS: In Ihrer Staging- und Produktivumgebung sollten Sie immer --no-dev ausführen
3. Verwenden Sie Drush Cex wie gewohnt
$ drush cex
exportiert keine der ausgeschlossenen Moduleinstellungen
ANMERKUNG: Ich habe bemerkt, dass die core.extension- Einstellungen nach dem Ausführen des obigen Befehls geändert wurden, aber die entsprechende .yml-Datei nie auf die Festplatte geschrieben wurde (auch nicht nach der Bestätigung will be deleted and replaced with the active config
) Interna des Moduls config_exclude
drush
akzeptabel? Ich habe neulich davon erfahrendrush config-export --skip-modules=devel
. Es könnte etwas Ähnliches ohne Drush geben, aber ich weiß es nicht.