如何为一些选定的依赖关系“选择源代码”,为其他依赖关系选择“prefer dist”?

时间:2013-08-08 22:03:17

标签: php composer-php

我想安装我使用“prefer source”选项维护的所有依赖项,以及我使用“prefer dist”维护的所有其他依赖项。

使用Composer可以吗?我在想可能有这样的东西,但我找不到它:

"my/dependency":"v1.2.3@dist",
"other/dependency":"v4.5.6@source",

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您应该不允许自己的依赖项具有分发下载链接。

不包括使用Github,但很乐意使用任何纯Git存储库。 Composer明确检查repo url是否指向Github,然后尝试从已知源下载而不是克隆repo,这通常会更快。

所以你可能应该引用你的本地Git repos而不是Github(我假设你现在正在做)。

然而,无法确定每个依赖项使用哪种方法。

答案 1 :(得分:1)

现在有一个preferred-install feature。 (我不确定在提出原始问题时是否可以使用此功能)

  

默认为自动,可以是source,dist或auto中的任何一个。此选项使您可以设置Composer将首选使用的安装方法。可以选择是模式的哈希,以获得更精细的安装首选项。

{
    "config": {
        "preferred-install": {
            "my-organization/stable-package": "dist",
            "my-organization/*": "source",
            "partner-organization/*": "auto",
            "*": "dist"
        }
    }
}

这使您可以为每个依赖项指定首选的安装方法。

请参见repositories部分,以了解托管依赖项的可用方式。