PHP Composer:为自定义存储库的packages.json调试缓存缺失

时间:2014-04-21 18:05:30

标签: php composer-php

我正在使用PHP编辑器和自定义存储库。由于我无法自我调试的原因,作曲家每次都会下载存储库packages.json 我运行命令。

$ composer.phar --profile -vvv --no-dev --repository-url=http://packages.firegento.com create-project magento-hackathon/magento-composer-installer .
[4.2MB/0.05s] Downloading http://packages.firegento.com/packages.json
[70.6MB/152.18s] Writing /Users/alanstorm/.composer/cache/repo/http---packages.firegento.com/packages.json into cache
...

$ composer.phar --profile -vvv update
[3.7MB/0.01s] Reading ./composer.json
[4.2MB/0.02s] Executing command (CWD): git describe --exact-match --tags
[4.4MB/0.03s] Executing command (CWD): git branch --no-color --no-abbrev -v
[4.5MB/0.05s] Executing command (CWD): hg branch
[4.5MB/0.12s] Executing command (CWD): svn info --xml
[6.6MB/0.17s] Loading composer repositories with package information
[6.8MB/0.19s] Downloading http://packages.firegento.com/packages.json
[73.2MB/125.50s] Writing /Users/alanstorm/.composer/cache/repo/http---packages.firegento.com/packages.json into cache

第一次阅读的152.18s秒,第二次的125.50s秒。

这与标准packagist packages.json的行为背道而驰,该作曲家似乎下载了一次,然后从缓存中读取。

如何进一步调试此缓存?我对作曲家知之甚少,无法快速追踪“我需要从缓存中抓取这个”#34;逻辑生活,我不控制自定义存储库服务器。

此外,我很可能对缓存命中/未命中理论完全错误,因此对这种缓慢行为的任何其他想法都表示赞赏。

1 个答案:

答案 0 :(得分:1)

根据设计,Composer不会缓存主packages.json文件,因此我对缓存未命中的问题无效。如果您发现packages.json的下载速度很慢,那么最好的选择是

  1. 在提供此文件的服务器上启用gzip压缩。

  2. packages.json文件拆分为多个文件。