drush cex --skip-modules
ถูกเอาออกไปด้วยความโปรดปรานของ config_split ตามที่อธิบายไว้ในปัญหานี้ดังนั้นการแก้ปัญหาโดยใช้ drush จึงไม่ได้ผลสำหรับฉัน
นี่คือโซลูชันที่อ้างอิงตามโซลูชันDuncanmooโดยใช้โมดูลconfig_exclude
1. ติดตั้ง config_exclude โดยใช้ Composer ต้องการ --dev และกำหนดค่า
$ composer require --dev drupal/config_exclude
$ drush en config_exclude -y
$ nano sites/default/setting.php
อนุญาตให้ settings.php ที่จะใช้ในสภาพแวดล้อม dev ท้องถิ่นของคุณ
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',
];
NOTE1: config_filter คือการพึ่งพา config_exclude ดังนั้นหากคุณไม่ต้องการการผลิตคุณสามารถยกเว้นได้ด้านบน
NOTE2: สิ่งsettings.local.php
นี้ไม่ใช่ข้อกำหนด ขึ้นอยู่กับว่า VCS ของคุณถูกควบคุมหรือไม่
2. นักแต่งเพลงต้องการ --dev
เมื่อเปิดใช้งานโมดูลที่ใช้สำหรับการพัฒนาอย่างแท้จริงให้ใช้แฟล็ก --dev:
$ composer require --dev drupal/devel
สิ่งนี้ส่งผลให้การพึ่งพาเหล่านั้นถูกเพิ่มเข้าไปในไฟล์ composer.json ภายใต้ require-dev:
...
"require-dev": {
"drupal/twig_xdebug": "^1.0",
"drupal/devel": "^1.0@RC"
}
}
ดังนั้นหากคุณติดตั้งเว็บไซต์โดยไม่ต้องใช้โมดูล dev ของคุณ:
$ composer install --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
เกี่ยวกับ อาจมีบางสิ่งที่คล้ายกันโดยไม่ใช้ drush แต่ฉันไม่รู้