Downgrading Twig: Uncaught Error: Call to undefined method Twig\Environment

Downgrading Twig: Uncaught Error: Call to undefined method Twig\Environment

我在一个项目上使用 Symfony 4.4,我需要使用 stfalcontinymce。因为我在 SF4 我 need 版本 2.4。所以我这样做了:

composer require stfalcon/tinymce-bundle=2.4

但是我得到这个错误:

!!  11:03:44 CRITICAL  [php] Uncaught Error: Class 'Twig_Extension' not found ["exception" => Error { …}]
!!
!!  In StfalconTinymceExtension.php line 13:
!!                                                                        
!!    Attempted to load class "Twig_Extension" from the global namespace. 
!!    Did you forget a "use" statement? 

有人告诉我这是因为这个版本与 Twig 3 不兼容所以我需要降级我的 Twig 版本。然后我这样做来降级 Twig:

composer require twig/twig=2

但是我得到这个错误:

     13:14:07 CRITICAL  [php] Uncaught Error: Call to undefined method Twig\Environment::registerUndefinedTokenPa
rserCallback() ["exception" => Error { …}]
!!
!!  In srcApp_KernelDevDebugContainer.php line 2040:
!!  
!!    Attempted to call an undefined method named "registerUndefinedTokenParserCallback" of class "Twig\Environm ent".
!!    Did you mean to call e.g. "registerUndefinedFilterCallback" or "registerUndefinedFunctionCallback"?

我尝试添加 composer.json

"twig/extensions": "*"

然后安装 composer,然后 运行 命令:

composer require stfalcon/tinymce-bundle=2.4 -W

我收到这个错误:

!!  13:49:04 CRITICAL  [php] Uncaught Error: Call to undefined method 

Twig\Environment::registerUndefinedTokenParserCallback() ["exception" => Error { …}]
!!
!!  In srcApp_KernelDevDebugContainer.php line 2045:
!!  
!!    Attempted to call an undefined method named "registerUndefinedTokenParserCallback" of class "Twig\Environment".
!!    Did you mean to call e.g. "registerUndefinedFilterCallback" or "registerUndefinedFunctionCallback"?

我真的迷路了。有人可以帮忙吗?谢谢

你执行的命令在我的系统上似乎根本不可能,因为会有版本约束冲突。

与其将依赖项限制为一个版本,不如使用约束。

您在 composer.json 中的要求可能包含如下内容

        "twig/twig": "^2",
        "stfalcon/tinymce-bundle": "2.4.*",
        "twig/extra-bundle": "^2"

解释了约束 here。但是 ^2 基本上意味着 >= 2.x.x and < 3.0.0

因为这个 GitHub issue

我使用上面的 tinymce 包

此外,twig/extensions 似乎已被弃用,this GitHub issue 提到 twig/extra-bundle 是必需的,可能是它的替代品。