TYPO3不会注意到通过composer安装的本地扩展的更改

时间:2019-02-10 16:41:03

标签: composer-php typo3 typo3-extensions typo3-9.x

我已经创建了本地扩展,然后通过composer安装了它。

composer require vendorname/extension_key:@dev

一切正常。

问题是,当我更改某些文件(例如某些CSS或HTML teamplte文件)的代码时,TYPO3不会注意到所做的更改。

我尝试了以下操作:

  • 清除缓存
  • 组成者更新命令
  • composer require命令
  • composer dumpautoload

如果我再次更新或要求扩展,则作曲家告诉我“没有安装或更新”。

如果我通过composer remove和扩展名删除扩展名,则唯一起作用的事情

composer remove vendorname/extension_key

然后将其与composer require再次添加。

composer require vendorname/extension_key:@dev

是否有更好的方法可以做到这一点,因为它速度慢且效率低。

2 个答案:

答案 0 :(得分:1)

一般而言;预计扩展名不会更改。为了提高性能,TYPO3中缓存了许多文件。这包括PHP文件,还包括CSS和JS文件(压缩和串联)

因此,如果更改文件,则该文件的所有缓存都必须无效。

如果您以调试/开发模式运行安装,则将大大减少缓存的使用。

在停用和重新激活扩展后,该扩展中所有文件的缓存都会刷新。

每次更改后,您都可以清除所有相关的缓存:如果您知道它们,则可以手工完成,或者您可以使用核心功能(一个是扩展管理器,但不要忘记命令行工具)。


在开发人员安装中,我希望调试模式没有大量的php缓存,并且没有CSS和JS的串联和压缩。

答案 1 :(得分:1)

我使用了扩展名chomposer.json的“ version”属性。

进行更改后,我将版本号更改为下一个更高的版本。

示例:从"version": "1.0.1""version": "1.0.2"

然后我运行了composer命令:

composer update vendorname/extension_key

作曲家意识到有一个新版本并安装了它。然后TYPO3注意到所有更改,一切正常。

不确定这是否是最好的方法,但到目前为止对我来说效果最好。

我希望这对其他人有帮助。