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

Cho*_*per 6 php composer-php

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

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

"my/dependency":"v1.2.3@dist",
"other/dependency":"v4.5.6@source",
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Ald*_* W. 10

现在有首选安装功能。(我不确定在最初提出问题时这是否可用)

默认为 auto,可以是 source、dist 或 auto 中的任何一个。此选项允许您设置 Composer 更喜欢使用的安装方法。可以选择是模式的哈希值,以实现更精细的安装首选项。

{
    "config": {
        "preferred-install": {
            "my-organization/stable-package": "dist",
            "my-organization/*": "source",
            "partner-organization/*": "auto",
            "*": "dist"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

请参阅存储库部分,了解托管依赖项的可用方法。

  • 这就是2019年的答案!是啊! (2认同)

Sve*_*ven 2

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

这不包括使用 Github,但可以愉快地与任何纯 Git 存储库一起使用。Composer 显式检查存储库 URL 是否指向 Github,然后尝试从已知来源下载而不是克隆存储库,这通常要快得多。

因此,您可能应该引用本地 Git 存储库,而不是 Github(我假设您现在正在这样做)。

然而,无法根据依赖关系来决定使用哪种方法。