Solución al error Unable to install Devel

Buenas tardes.

Si en algún momento necesitas instalar el módulo devel en Drupal 8 y te encuentras con el siguiente error:

Unable to install Devel, devel.settings, devel.toolbar.settings already exist in active configuration.

Te enseñaremos como solucionarlo.

Existen varias maneras de hacerlo:

1) A través de Drush

a)

drush ev "\Drupal\system\Entity\Menu::load('devel')->delete();"
drush ev "\Drupal::configFactory()->getEditable('system.menu.devel')->delete();"
drush ev "\Drupal::configFactory()->getEditable('devel.settings')->delete();"
drush ev "\Drupal::configFactory()->getEditable('devel.toolbar.settings')->delete();"

b)

drush php 
   \Drupal\system\Entity\Menu::load('devel')->delete();
   \Drupal::configFactory()->getEditable('system.menu.devel')->delete();
   \Drupal::configFactory()->getEditable('devel.settings')->delete();
   \Drupal::configFactory()->getEditable('devel.toolbar.settings')->delete();

2) a través del hook form alter.

La mejor manera para realizarlo, es yendo a los archivos del tema que tenemos como predeterminado en nuestro sitio.

En mi caso, estoy usando el tema de bootstrap.

Pasos:

a) ir al archivo llamado bootstrap.theme 

b) buscar la función llamada bootstrap_form_alter y agregar el siguiente código.

drupal_set_message(t('An error occurred and processing did not complete.'), 'error');

c) borramos cache en la ruta: admin/config/development/performance

d) vamos a un nodo a fin de ver si aparece el siguiente mensaje:

Error devel

 

Nota: si aparece el mensaje "Hubo un error y no se ejecutó el proceso por completo." es porque en esa ventana se ejecuta el código que necesitamos. 

e) Modificar la función bootstrap_form_alter de esta manera:

function bootstrap_form_alter(&$data, &$context1 = NULL, &$context2 = NULL) {
  
   drupal_set_message(t('An error occurred and processing did not complete.'), 'error');
    
   Drupal\system\Entity\Menu::load('devel')->delete();
   Drupal::configFactory()->getEditable('system.menu.devel')->delete();
   Drupal::configFactory()->getEditable('devel.settings')->delete();
   Drupal::configFactory()->getEditable('devel.toolbar.settings')->delete();
  
  Bootstrap::alter(__FUNCTION__, $data, $context1, $context2);
}

f) vaciamos la cache de nuevo. 

g) refrescamos la pagina en el contenido que nos apareció el mensaje, para que se ejecute el código del punto e). 

h) poner la función nuevamente como estaba:

function bootstrap_form_alter(&$data, &$context1 = NULL, &$context2 = NULL) {
    Bootstrap::alter(__FUNCTION__, $data, $context1, $context2);
}

Ahora si, ya podemos instalar el módulo Devel. 

Cualquier inquietud o duda, déjenme un comentario para poder ayudarlos.

Dios les bendiga. 

Saludos desde República Dominicana. 

Añadir nuevo comentario

Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.

Comparte este artículo