每当我们在开发机器上克隆一个站点时,PackageStates.php
很快就会重写,并且条目的顺序会到处都是,导致大量的变化,即使逻辑上实际上没有任何变化。
这就提出了一个问题,文件是否真的应该受到版本控制?
我们尝试忽略它,但是当在新机器上部署时,站点将不知道要加载哪些扩展。这向我表明它不应该被排除在版本控制之外。但是,应该如何传输要加载哪些扩展的信息?
每当我们在开发机器上克隆一个站点时,PackageStates.php
很快就会重写,并且条目的顺序会到处都是,导致大量的变化,即使逻辑上实际上没有任何变化。
这就提出了一个问题,文件是否真的应该受到版本控制?
我们尝试忽略它,但是当在新机器上部署时,站点将不知道要加载哪些扩展。这向我表明它不应该被排除在版本控制之外。但是,应该如何传输要加载哪些扩展的信息?
您可以将 包含PackageStates.php
到您的版本控制中。
您还可以将其从版本控制中排除并在部署过程中自动生成。Typ3-console 有一个命令:
typo3cms install:generatepackagestates
在旧的 TYPO3 版本 < 9 LTS 中,您可以选择根据上下文、主机、系统等条件安装扩展,您可以使用
$GLOBALS['TYPO3_CONF_VARS']['EXT']['runtimeActivatedPackages'] = array('extension_builder','devlog');
在你的AdditionalConfiguration.php
.
如果你安装了 TYPO3 composer,运行“composer install”时会自动生成 PackageStates.php:
生成并写入
typo3conf/PackageStates.php
文件。目标是不在版本控制中包含此文件,而是在 composer install 上生成它。