app.root параметр был добавлен в Drupal 9 для замены app.root оказание услуг. Если вы используете Drupal 8, эта ошибка может быть вызвана:
- Модуль, в котором говорится, что он совместим с Drupal 8 и Drupal 9, чей код обращается к app.root параметр контейнера, когда он работает на Drupal 8
- Другой код, который пытается получить доступ к app.root параметр контейнера, когда он работает на Drupal 8
Это могло произойти, потому что:
- Одним из аргументов в пользу сервиса является
'%app.root%'
(для которого требуется параметр контейнера) вместо '@app.root'
(для чего требуется служба, существующая в Drupal 8.x)
- Есть код, который использует
$container->getParameter('app.root')
вместо $container->получить('app.root')
- Есть код, который проверяет, использовать ли app.root параметр контейнера или app.root сервис, но он не может использовать доступный
Чтобы понять, какой код вызывает ошибку, достаточно поискать %app.root% или же ->getParameter('app.root'). Searching for app.root недостаточно, так как он вернет любую строку, которая правильно использует app.root оказание услуг.
[Symfony 5] Заменены строковые службы app.root и site.path параметрами контейнера. был создан 13 августа 2019 г. и помечен как исправленный 23 декабря 2020 г. (исправление было зафиксировано для Drupal 9.x 5 марта 2020 г.)
Консоль Drupal 1.9.4 (выпущена 11 ноября 2019 г.) не должна содержать код, который обращается к app.root container, так как ядро Drupal даже не имело этого параметра container, когда была выпущена Drupal Console 1.9.4.