我正在构建一个自动脚本,用于安装最新版本的Symfony 2.2,将我们公司的CMS捆绑包添加到composer.json
,创建一些新的捆绑包等等。
自动化工作正常,但有时候GitHub的一些供应商下载由于超时而无法自动失败。当我再次运行php composer.phar install
时,下载通常会成功,安装过程稍后会再次失败一些依赖项。大约10次执行后,最终安装完毕。
这会给安装程序带来很大的问题,因为它会在断言失败的情况下退出并清理它安装的所有内容。有没有办法可以继续运行composer install命令,直到我确定所有内容都已安装,或者让作曲家在失败时重试下载?
答案 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并重新运行。