如何在Symfony 4中更新Twig?解决composer依赖冲突报错
依赖冲突核心原因
- 触发报错的根源是已停止维护的旧包
twig/extensions:该包当前锁定版本v1.5.4仅支持Twig 1.x、2.x大版本,和项目要求安装的Twig 3.3+版本存在硬版本要求冲突,且该包未被同步更新时,就会直接阻断Composer的依赖解析流程。
完整解决操作步骤
- 第一步:移除废弃的旧依赖包
执行命令:composer remove twig/extensions
说明:Symfony 4 生态早已将原twig/extensions包含的功能拆分为独立维护的官方Twig扩展包,该废弃包可安全移除,不会丢失原有功能。 - 第二步:安装适配Twig 3.x的功能替代包
执行命令安装覆盖全量常用功能的扩展模块:
注:上述三个extra扩展包完全覆盖原composer require twig/string-extra twig/intl-extra twig/html-extratwig/extensions提供的字符串处理、本地化格式化、HTML安全过滤、数组操作等全部常用能力。 - 第三步:重新执行Twig版本安装操作
执行命令:composer require twig/twig:^3.3 - 第四步:收尾配置兼容调整
打开项目下config/packages/twig_extensions.yaml配置文件,删除原有指向旧twig/extensions的服务注册配置,根据实际使用的功能补全新安装extra扩展的服务配置。新旧扩展的大部分过滤器、函数调用语法保持一致,仅存在少量命名差异,不需要大规模调整业务代码,清除项目缓存后即可正常运行。
内容的提问来源于stack exchange,提问作者peace_love
相关产品推荐
相关产品推荐

