首页 > 解决方案 > 如何处理作曲家警告:TYPO3 扩展包...没有在 composer.json 中定义扩展键

问题描述

现在在几个 Composer 命令上收到一堆这样的警告。

作曲家转储自动加载

TYPO3 Extension Package "bk2k/bootstrap-package", does not define extension key in composer.json.
Specifying the extension key will be mandatory in future versions of TYPO3 (see: https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ExtensionArchitecture/ComposerJson/Index.html#extra)
TYPO3 Extension Package "typo3/cms-introduction", does not define extension key in composer.json.
Specifying the extension key will be mandatory in future versions of TYPO3 (see: https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ExtensionArchitecture/ComposerJson/Index.html#extra)

显而易见的解决方法是在每个扩展的“额外”部分定义扩展密钥,如https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ExtensionArchitecture/ComposerJson/Index中所述.html#额外

我可以(已经)为我自己的扩展做到这一点。

我还可以为其他扩展创建 PR(我已经开始这样做了)。

但是对于其他第三方扩展,我不确定这些是否仍会接受支持 TYPO3 9 的最新版本的更改(有些具有支持 10 及更高版本的最新版本)。

该警告开始变得烦人,因为它多次出现。


更新:一些链接:

标签: typo3

解决方案


行为是在typo3/cms-composer-installersv3.1.0 中引入的。

该领域正在进行一些改进,因此这个问题可能很快就会过时。看:

https://github.com/TYPO3/CmsComposerInstallers/issues/114

如果您迫不及待,降级到 v3.0.1 可能是快速的解决方案:

composer require typo3/cms-composer-installers '~3.0.1'

另一个提示:如果您通过 composer 加载了本地扩展,并且extension-key按照文档添加了,并且没有看到此扩展的警告消失,则问题可能来自 composer 的缓存。尝试删除它:

test -d "$(composer config vendor-dir)" && rm -rf $(composer config vendor-dir)
composer clear-cache

推荐阅读