Drupal 8:如何修复恼人的错误消息“无法安装广告,已存在于活动配置中”


Drupal 8: How do i fix the irritating error message "Unable to install advertisement, already exist in active configuration"?

我是Drupal编程的新手,但我遇到了一些问题。每次我卸载一个模块并想再次安装它。

我收到此错误消息:

无法安装广告, core.entity_form_display.node.advertisement.default, core.entity_view_display.node.advertisement.default, core.entity_view_display.node.advertisement.teaser, field.field.node.advertisement.body, node.type.advertisement 已经 存在于活动配置中。

我已经做了什么?

  • 使用drush缓存清除/缓存重建 无结果
  • 在drupal自我缓存清除中 没有结果
  • 甚至删除了drupal数据库/(它可以工作,但每次都这样做有点烦人。 结果但工作量很大

所以我想我知道问题出在哪里(数据库表),但是如何快速轻松地解决它?

你也可以

使用 Drush

drush config-delete module_name.settings

我用一个简单的Drupal命令解决了这个问题, 这需要 Drupal 控制台你可以在这里找到什么!

我所要做的就是输入 2 个命令

  • Drupal 模块:卸载广告
  • Drupal 模块:安装 --覆盖配置
  • 通告

您可以在 Drupal 控制台中使用 config:delete 命令:

drupal config:delete active CONFIG.TO.DELETE

例如

drupal config:delete active system.menu.devel

这似乎是关于"如何从活动配置中删除配置对象?

根据那里的答案之一,我会尝试在hook_uninstall中使用此代码来解决错误core.entity_form_display.node.advertisement.default部分: Drupal::configFactory()->reset('core.entity_form_display.node.advertisement.default');

然后对错误的其他部分重复(4次?)。

只需将配置文件从

config/install

config/optional