使编写器重试失败的下载



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

自动化工作正常,但偶尔一些供应商从GitHub下载随机失败,由于超时。当我再次运行php composer.phar install时,下载通常会成功,而安装过程在几个依赖项之后再次失败。大约执行了10次之后,所有的东西都安装好了。

这会给安装程序带来很大的问题,因为在断言失败的情况下,它当前会退出并清理它安装的所有内容。是否有一种方法,我可以保持运行作曲家安装命令,直到我确定一切都安装,或要求作曲家重试下载,如果他们失败?

Composer现在有一个内置的功能来重试下载,参见:

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

我已经通过使用本地存储库来处理大型包(通常充满生成的代码和图像)。只需下载Symfony的zip并编辑您的作曲家。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"
            }
        }
    }
]

您还可以检查composer的退出代码并在失败时重新运行它。

相关内容

  • 没有找到相关文章

最新更新