rubenrua/symfony-clean-tags-composer-plugin

安装次数: 118 144

依赖: 1

建议者: 0

安全: 0

星标: 25

关注者: 5

分支: 3

开放问题: 2

类型:composer-plugin

v1.0.1 2020-10-06 17:26 UTC

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.requiresymfony/flex#378symfony/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