让作曲家重试失败的下载

时间:2013-05-06 08:26:33

标签: php symfony composer-php

我正在构建一个自动脚本,用于安装最新版本的Symfony 2.2,将我们公司的CMS捆绑包添加到composer.json,创建一些新的捆绑包等等。

自动化工作正常,但有时候GitHub的一些供应商下载由于超时而无法自动失败。当我再次运行php composer.phar install时,下载通常会成功,安装过程稍后会再次失败一些依赖项。大约10次执行后,最终安装完毕。

这会给安装程序带来很大的问题,因为它会在断言失败的情况下退出并清理它安装的所有内容。有没有办法可以继续运行composer install命令,直到我确定所有内容都已安装,或者让作曲家在失败时重试下载?

3 个答案:

答案 0 :(得分:1)

我已经使用本地存储库来获取大包(通常包含生成的代码和图像)。只需下载Symfony的zip并编辑您的composer.json即可添加本地存储库点

"require": {
    "symfony/symfony": "2.2.1"
},
"repositories": [
    {
        "type": "package", 
        "package": {
            "name" : "symfony/symfony",
            "version" : "2.2.1",
            "dist": {
                "url": "/Users/cassell/Symfony_Standard_Vendors_2.2.1.zip",
                "type": "zip"
            }
        }
    }
]

答案 1 :(得分:1)

Composer现在具有重新下载的内置功能,请参阅:

https://github.com/composer/composer/commit/5267bafa2cb28e564dbca8d1bfaa64de2a120827

答案 2 :(得分:0)

如果失败,您还可以检查作曲家的exit codes并重新运行。