在Composer中需要dev-master#1.0.0提取最新提交

时间:2018-05-23 14:03:21

标签: git composer-php

我有一个metapackage可以正常使用所需的标签:

"vendor/module": "1.0.0",

并不是真的明白为什么这总是让我得到最新的承诺:

"vendor/module": "dev-master#1.0.0",

显式标记不会将git repo添加到模块中。 如果我从使用mercurial时正确记得,dev-default#tag将版本锁定到"标记"但还是下载了回购。

有没有办法指定标签,还能在dev上获得回购?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您可以在composer.json中使用preferred-install配置来指定您想要下载源代码:

{
    "require": {
        "vendor/module": "1.0.0",
    },
    "config": {
        "preferred-install": {
            "vendor/module": "source",
        }
    }
}

答案 1 :(得分:1)

我实际上从未见过有人使用#表示法引用特定标记。它从来没有打算像这样使用。有关此争议性功能的详细信息,请参阅https://getcomposer.org/doc/articles/troubleshooting.md#i-have-locked-a-dependency-to-a-specific-commit-but-get-unexpected-results-

至于dist与source,无法单独为包指定此项。您是否有理由将此特定包仅作为源?因为这个问题感觉就像XY一样。