为什么只有某些composer包存储在缓存中,而不是全部



我正在运行ubuntu 14.04,注意到当我为依赖于googledoctrinetwig等供应商的包运行composer.phar update时,它会将下载的文件存储在本地~/.composer/cache/files/vendor中。然而,当我自己创建了一个库包,并在另一个测试包中"需要"它时,它并没有在/cache/files/文件夹中下载这些文件(但确实向/repo/https---packagist.org/*.json文件中添加了条目)。

我想知道composer.phar在什么情况下下载文件并存储在缓存中?我之所以这么问,是因为我将来要构建很多应用程序,包括条令、符号和zend框架等组件,我不希望composer.phar为每个应用程序一次又一次地下载这些框架的副本,从而浪费互联网带宽。当然,另一个优点是,如果我决定切换ubuntu并转到其他发行版,我不想再下载大量的composer包。

我个人的猜测是,由于我没有在github repo中标记我的lib包(它仍然是dev-master),所以它没有存储在缓存中。有人能确认一下吗?


1.composer.json应用程序的require部分依赖于google/apiclient:

"require": {
    "google/apiclient": "1.*.*"
}

2.composer.json依赖prahladyeri/indiegogo的应用程序require部分:

"require": {
    "prahladyeri/indiegogo": "dev-master"
},
"license": "MIT",
"minimum-stability": "dev"

如果Composer克隆了一个git存储库,那么它没有使用缓存。

标记版本将作为ZIP文件从Github API下载,因为它们通常比整个存储库小,并且它们被放入缓存目录中。

尽早发布,经常发布。如果你标记了每一个你认为稳定并且可以使用的提交,没有人会反对。使用语义版本控制,您可以有很多选项来标记仍在发展中的不稳定版本,但您对用户有很大帮助。

相关内容

  • 没有找到相关文章

最新更新