首页 > 解决方案 > Drupal 8 中缓存重建后缺少路由

问题描述

有一个名为 phys_custom 的模块,它定义了一个路由 phys_custom.homepage (/homepage),它工作正常,直到我清除缓存,此时它不再可用。

看看下面的输出。现在我每次清除缓存时都需要卸载并重新安装我的模块。我将如何调试这个?

$ drush @stewardd8.test -l phys cr
[success] Cache rebuild complete.
$ drush @stewardd8.test -l phys pmu phys_custom
[success] Successfully uninstalled: phys_custom
$ drush @stewardd8.test -l phys pm:enable phys_custom
[success] Successfully enabled: phys_custom
$ drush @stewardd8.test -l phys ev 'print_r(drupal_get_path("module", "phys_custom") . PHP_EOL)'
sites/phys/modules/phys_custom
$ drush @stewardd8.test -l phys ev 'print_r(\Drupal\Core\Url::fromRoute("phys_custom.homepage")->toString() . PHP_EOL)'
/homepage
$ drush @stewardd8.test -l phys cr
[success] Cache rebuild complete.
$ drush @stewardd8.test -l phys ev 'print_r(drupal_get_path("module", "phys_custom") . PHP_EOL)'
sites/phys/modules/phys_custom
$ drush @stewardd8.test -l phys ev 'print_r(\Drupal\Core\Url::fromRoute("phys_custom.homepage")->toString() . PHP_EOL)'

In RouteProvider.php line 201:

 Route "phys_custom.homepage" does not exist.  

我正在使用 drush 9.6.2 和 Drupal 8.6.15

我还在Drupal.org 上打开了一个问题

标签: drupaldrupal-8

解决方案


这实际上是当前正在处理的核心错误,重建缓存时未注册多站点目录中的扩展。那里的补丁解决了这个问题。


推荐阅读