rubenrua / symfony-clean-tags-composer-plugin
v1.0.1
2020-10-06 17:26 UTC
Requires
- composer-plugin-api: ^1.0
This package is auto-updated.
Last update: 2024-09-15 01:02:15 UTC
README
动机
最近发现Composer在处理历史标签数量较多的包时,会消耗大量的CPU和内存。请参阅composer/composer#7577
这意味着composer+packagist基础设施存在可扩展性问题:随着时间的推移,每个包的标签列表会增长,而"Composer体验"会下降。这对今天的symfony/*
来说是个大问题,将来也会给其他任何包带来麻烦。
symfony/flex通过@nicolas-grekas的一个补丁解决了这个问题,使用了新的额外参数extra.symfony.require
:symfony/flex#378 和 symfony/flex#409
此项目将这个补丁提取为一个独立的composer插件,用于遗留项目(PHP5和Symony 2/3)
安装
步骤1:不使用插件配置应用程序
打开命令行控制台,进入项目目录,并执行以下命令以配置当前内存和CPU时间使用情况。
$ composer update --profile --ignore-platform-reqs --dry-run
....
[833.9MB/199.98s] Memory usage: 833.86MB (peak: 2811.34MB), time: 199.98s
记下来以便与最后一步比较。
步骤2:下载Bundle
执行以下命令安装composer插件
$ composer require rubenrua/symfony-clean-tags-composer-plugin
或全局安装
$ composer global require rubenrua/symfony-clean-tags-composer-plugin
步骤3:配置新的额外参数
使用与应用程序中相同的symfony版本约束配置extra.symfony.require
。例如,如果您使用symfony 2.8,则执行以下命令修改composer配置部分
$ composer config extra.symfony.require 2.8.*
还可以使用SYMFONY_REQUIRE
环境变量代替extra.symfony.require
。请参阅symfony/symfony
travis配置的示例。
步骤4:使用插件配置应用程序
最后,配置当前内存和CPU时间使用情况。再次执行以下命令
$ composer update --profile --ignore-platform-reqs --dry-run
....
[230.7MB/31.02s] Memory usage: 230.67MB (peak: 387.3MB), time: 31.02s
请随时在问题#3中提出您的改进意见。
注意
- MIT许可
- 感谢@nicolasgrekas