No Drupal 8.1, continuo executando esse tipo de mensagem quando tento ativar um módulo personalizado ou um recurso personalizado que faz algumas modificações na página básica. (adicione campos).
É realmente irritante ...
Passos:
- Limpar banco de dados completamente
- vá para /install.php e escolha Perfil padrão
- Agora que o site está sendo executado, vá para Estender
- Página Selecionar Recurso - Básico
Resultado:
Unable to install Feature - Basic Page, core.base_field_override.node.page.promote, core.entity_form_display.node.page.default, core.entity_view_display.node.page.default, core.entity_view_display.node.page.teaser, field.field.node.page.body, node.type.page already exist in active configuration.
Bem, sim ... é isso que eu quero fazer: Alterar essas configurações padrão!
Expexted:
Consiga instalar meu recurso que faz algumas modificações na página básica.
Meu Recurso
Aqui está o meu recurso criado com o módulo Recursos
Basicamente, adiciona dois campos, banner_image e background_image à página básica
Arquivos:
config
install
core.base_field_override.node.page.changed.yml
core.base_field_override.node.page.created.yml
core.base_field_override.node.page.promote.yml
core.base_field_override.node.page.status.yml
core.base_field_override.node.page.sticky.yml
core.base_field_override.node.page.title.yml
core.base_field_override.node.page.uid.yml
core.entity_form_display.node.page.default.yml
core.entity_view_display.node.page.default.yml
core.entity_view_display.node.page.teaser.yml
field.field.node.page.body.yml
field.field.node.page.field_banner_image.yml
field.field.node.page.field_image.yml
field.storage.node.field_banner_image.yml
language.content_settings.node.page.yml
node.type.page.yml
feature_basic_page.features.yml
feature_basic_page.info.yml
Por que essa coisa simples não é suportada? Isso é um bug? O que devo fazer para poder usar meu recurso?
Respostas:
Com drush você provavelmente pode fazer
excluir as configurações que reclamam
fonte
optional/
pasta para fazê-lo calar a boca. Mas eu não tenho certeza de todas as implicações ...Warning: in_array() expects parameter 2 to be array, null given in lightning_layout_block_alter() (line 91 of modules/contrib/lightning_layout/lightning_layout.module).
depois de configurar a fonte git do código do site e o banco de dados em outra máquina .drush pm-uninstall lightning_layout
funcionou, mas quando tentei reinstalá-lodrush en lightning_layout
, obtive o erro de linha de comando "Na linha 65 do PreExistingConfigException.php: os objetos de configuração (field.storage.node.panelizer) fornecidos pelo lightning_layout já existem na configuração ativa". solução assim:drush config-delete field.storage.node.panelizer
e foi capaz de reativar o módulo:drush en lightning_layout
Isso não é suportado porque um módulo pode não substituir uma entidade de configuração que já existe com a instalação.
Para adicionar configurações de modo de formulário e exibição para um tipo de nó já existente, você deve implementar isso no código em hook_install ().
Ou você deve excluir o tipo de nó primeiro no seu site, mas também precisará excluir o conteúdo.
E não, isso não é um bug, é assim que é definido para evitar a perda de configuração.
fonte
Módulo encontrado, use o módulo Easy Install para limpar a configuração ativa sem usar o devel ou drush . Funciona mesmo se você perdeu a pasta opcional e a opção imposta nos arquivos de configuração do módulo ( yml )
fonte
Tenho o mesmo problema no site do panteão. Entrei no comando drush
é trabalho para mim.
fonte
Com
drush en
isso funciona!EDIT: existe uma solução muito melhor agora, consulte: Como faço para remover um objeto de configuração da configuração ativa?
fonte
Se você deseja adicionar configurações ao seu módulo personalizado, mas elas já existem na configuração ativa, e por algum motivo você não pode usar o drush para excluir essas configurações (no meu caso, porque faz parte de um perfil de instalação), e você tem certeza você não substituirá a configuração, aqui está uma abordagem para substituir essas configurações.
Adicione uma nova pasta ao seu módulo personalizado, / config / hook_install e adicione seus arquivos de configuração .yml nessa pasta e, em seguida, no hook_install do seu módulo.
fonte