作曲家并没有使用" dist"版本,甚至是特别告诉的

时间:2016-02-02 15:49:29

标签: composer-php satis

我有一个托管在私有git存储库中的依赖项,并且我正在使用令人满意的包管理。 我已将对repo主分支的提交标记为&#34; 1.0.0&#34;,并且在composer.json文件中,我希望使用该包,我已指定< / p>

"require": {
  "package/name": "~1.0"
},
"repositories": [
{
  "type": "composer",
  "url": "http://myownsatisrepo"
},
"config": {
  "preferred-install": "dist"
}

并且正在运行命令composer install --prefer-dist

所以我已经指定了一个稳定的软件包版本的事实应该确保作曲家不会克隆repo(包括我不想要的.git文件夹),而是下载一套。 install命令的额外配置标志和参数也应该这样做。 尽管如此,作曲家只是克隆了包裹。

1 个答案:

答案 0 :(得分:1)

如果分发ZIP知道如何获取它,它只能下载分发ZIP。否则(或者如果它失败),它将克隆存储库。

当您使用某些知名的Git存储库托管服务商(如Github和Bitbucket)时,Composer知道他们的API结构以及下载ZIP文件的位置。如果您正在使用其他内容,则不会。

作为最后一个回退,Satis中的元数据理论上可以包含ZIP文件的下载URL。 Satis允许您配置创建这些文件,但除了Composer元数据之外,您还拥有所有ZIP文件的托管容量。如果您不让Satis创建ZIP,并且正在使用不提供Composer已知的下载功能的存储库,那么无论如何,您都将始终触发存储库的克隆。

请注意,一旦Composer以某种方式获得源代码,它将坚持使用它,直到您删除整个供应商文件夹。特别是如果你克隆了存储库,如果Composer只是更新到最新的提交然后检查出所需的提交,它就会更快并且使用更少的流量。