【问题标题】:TYPO3 does not notice changes from local extension installed via composerTYPO3 没有注意到通过 composer 安装的本地扩展的变化
【发布时间】:2019-07-04 05:48:59
【问题描述】:

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

composer require vendorname/extension_key:@dev

一切都按预期进行。

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

我尝试了以下方法:

  • 清除缓存
  • 作曲家更新命令
  • 作曲家需要命令
  • 作曲家转储自动加载

如果我再次更新或需要扩展,那么作曲家会告诉我“无需安装或更新”。

如果我通过 composer remove 和删除扩展,唯一有效的方法

composer remove vendorname/extension_key

然后用 composer require 再次添加它。

composer require vendorname/extension_key:@dev

有没有更好的方法来做到这一点,因为这既慢又低效。

【问题讨论】:

  • 自动加载只影响 PHP 类。如果您的模板或 CSS 文件更改没有任何影响,我认为这不是由作曲家引起的。您确定您编辑了 TYPO3 系统使用的正确文件吗?

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


【解决方案1】:

一般;预计不会更改扩展名。并且为了性能,很多文件都缓存在 TYPO3 中。这包括 PHP 文件,也包括 CSS 和 JS 文件(压缩和连接)

因此,如果您更改文件,则该文件的所有缓存都需要失效。

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

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

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


在开发安装中,我更喜欢没有太多 php 缓存的调试模式,也没有 CSS 和 JS 的串联和压缩。

【讨论】:

    【解决方案2】:

    我使用了扩展的 chomposer.json 的“版本”属性。

    当我进行更改时,我将版本号更改为下一个更高的数字。

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

    然后我运行了 composer 命令:

    composer update vendorname/extension_key
    

    作曲家意识到有一个新版本并安装它。 TYPO3 然后注意到所有的变化并且一切正常。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-26
      • 2017-06-07
      • 1970-01-01
      • 2013-12-27
      • 2018-11-01
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      相关资源
      最近更新 更多