强制作曲家下载git repo而不是zip

时间:2012-08-29 08:43:50

标签: php github composer-php

我对作曲家有些问题。

 "require": {
        "php":                ">=5.3.2",
        "kriswallsmith/buzz": "0.7"
    },

回购https://github.com/kriswallsmith/Buzz/tree/v0.7

不幸的是,github为此请求https://github.com/kriswallsmith/Buzz/zipball/v0.7

返回502

请求网址:https://nodeload.github.com/kriswallsmith/Buzz/zipball/v0.7
状态代码:502 Bad Gateway

幸运的是,git clone仍然有效;)

是否有可能告诉/要求作曲家使用git clone而不是为这一个依赖项下载zipball?

3 个答案:

答案 0 :(得分:8)

最快的解决方案是使用选项install

运行update--prefer-source
php composer.phar install --prefer-source

通过这种方式,git clone将用于所有依赖项,我不知道是否存在仅限于一个依赖项的设置。

答案 1 :(得分:2)

preferred-install中所述,顺序很重要。我已经在Composer version 1.8.3 2019-01-30 08:31:33

上进行了测试
"config": {
    "preferred-install": {
        "drupal/external_entities": "source",
        "*": "dist"
    }
}

下一次运行

composer require drupal/external_entities

和git repo出现了。

答案 2 :(得分:0)

除了喜欢来源,还有另一种方法,您可以将存储库设置为'VCS'类型,这意味着将在VCS中搜索软件包,例如GIT而不是packagist

您的 composer.json

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/kriswallsmith/Buzz"
        }
    ],
    "require": {
        "kriswallsmith/buzz": "dev-0.17.x"
    }
}

More info here