web-dev-qa-db-fra.com

"La déclaration de <fonction> doit être compatible avec <interface>" dans Drupal 8.6.10

Jusqu'à samedi, j'avais une Drupal 8.6.x fonctionnelle.

composer update

et Drupal 8.6.10 a été installé. Depuis lors, j'obtiens ce qui suit dans mes journaux d'erreurs:

La déclaration de Drupal\Core\Template\TwigTransTokenParser :: parse (jeton Twig_Token $) doit être compatible avec Twig\TokenParser\TokenParserInterface :: parse (jeton Twig\Token $)

et Drush échoue avec

Robo\Robo :: configureContainer () doit être une instance de Robo\Config\Config, instance de Drush\Config\DrushConfig donnée

J'utilise PHP 7.2 sur Ubuntu 18.04.

J'ai fait une réinstallation propre de Drupal 8.6.10 et les mêmes choses se produisent. J'ai essayé de remplacer 8.6.10 par 8.6.9 et même 8.6.0 mais je reçois toujours ces erreurs. Si c'était Java, je soupçonnerais que l'interface et la classe ont été compilées avec différentes versions du compilateur. Mais je ne sais pas PHP assez bien pour savoir par où commencer. Ces erreurs me semble être au coeur: tout mon code est sous modules/xxx.

Des indices?

Steve

6
Stephen Winnall

Il s'agit d'un problème global sur cette nouvelle Twig version 1.38.0.

Je peux être temporairement corrigé en rétrogradant sa version en utilisant composer require twig/twig:1.37.1

Vous pouvez suivre ce problème pour savoir quand la version Twig peut être mise à jour à nouveau.