diff --git a/core/lib/Drupal/Core/Extension/ModuleInstaller.php b/core/lib/Drupal/Core/Extension/ModuleInstaller.php index 0dfe322..db57550 100644 --- a/core/lib/Drupal/Core/Extension/ModuleInstaller.php +++ b/core/lib/Drupal/Core/Extension/ModuleInstaller.php @@ -293,7 +293,11 @@ public function install(array $module_list, $enable_dependencies = TRUE) { // If any modules were newly installed, invoke hook_modules_installed(). if (!empty($modules_installed)) { - \Drupal::getContainer()->set('router.route_provider', \Drupal::service('router.route_provider.old')); + // When some code rebuilt the container, the container no longer has the + // old route provider. + if (\Drupal::hasService('router.route_provider.old')) { + \Drupal::getContainer()->set('router.route_provider', \Drupal::service('router.route_provider.old')); + } if (!\Drupal::service('router.route_provider.lazy_builder')->hasRebuilt()) { // Rebuild routes after installing module. This is done here on top of // \Drupal\Core\Routing\RouteBuilder::destruct to not run into errors on