TYPO3指定精确版本Composer安装:无需逐个配置组件版本的实现方法
你不需要手动为每个TYPO3组件填写精确版本号,有两种主流方案可以快速实现所有TYPO3核心组件的版本统一:
方案1:使用官方全量元包(适合需要全部核心组件的场景)
直接删除当前require块中所有typo3/cms-*开头的依赖项,仅保留一行指定元包版本即可:
"require": { "typo3/cms": "10.4.20" }
typo3/cms是TYPO3官方维护的元包,本身不包含实际代码,仅依赖了对应版本的所有TYPO3核心组件。指定该元包的精确版本后,Composer会自动将所有核心组件的版本对齐到和元包完全一致的版本,无需额外配置。
方案2:仅锁定核心包版本(适合仅需要部分核心组件的场景)
TYPO3所有核心子包的依赖规则中,都强制要求和同版本的typo3/cms-core绑定。因此你只要把typo3/cms-core的版本设为精确的10.4.20,其余子包的版本保留^10.4即可,Composer解析依赖时会自动选择和核心包版本匹配的最高兼容版本也就是10.4.20,不会出现版本不一致的情况。
如果想要更稳妥避免意外升级,可以在composer.json中添加conflict块全局限制所有TYPO3核心包的版本范围:
"conflict": { "typo3/cms-*": "<10.4.20, >=10.5.0" }
该规则会排除所有低于10.4.20或者高于等于10.5.0的TYPO3核心子包,进一步保障版本统一。
后续需要升级TYPO3版本时,仅需要修改typo3/cms或者typo3/cms-core的版本号即可,无需调整其他子包的配置。
内容的提问来源于stack exchange,提问作者Stefan Müller
相关产品推荐
相关产品推荐

