0

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

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

这会给安装程序带来很大的问题,因为它当前会退出并清理它安装的所有内容,以防断言失败。有没有一种方法可以让我继续运行 composer install 命令,直到我确定所有内容都已安装,或者如果下载失败,请让 composer 重试下载?

4

3 回答 3

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"
            }
        }
    }
]
于 2013-05-06T13:26:38.663 回答
1

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

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

于 2013-07-26T10:31:54.743 回答
0

您还可以检查作曲家的退出代码并重新运行它,如果它失败了。

于 2013-05-06T10:33:57.157 回答