2014-08-30 118 views
0

我有一个稳定的连接,但是当我在我的项目根目录上运行composer update时,作曲者总是抛出Composer\Downloader\TransportException,然后显示消息,指出我在下载文件时发生超时错误。作曲家(安装/更新)总是失败

运行后composer diagnose,一切似乎都通过了测试。

我试图卸载,之后我无法安装作曲家。当我与curl -sS https://getcomposer.org/installer | php,作曲家打印此下载作曲家流:

~ curl -sS https://getcomposer.org/installer | php -d detect_unicode=Off 
All settings correct for using Composer 
Downloading... 
Download failed: Failed to open https://getcomposer.org/composer.phar (Operation timed out after 4994 milliseconds with 229148 out of 1016883 bytes received) 
Downloading... 
Download failed: Failed to open https://getcomposer.org/composer.phar (Operation timed out after 4988 milliseconds with 261916 out of 1016883 bytes received) 
Downloading... 
SlowTimer [5000ms] at curl: https://getcomposer.org/composer.phar 
Download failed: Failed to open https://getcomposer.org/composer.phar (Operation timed out after 4996 milliseconds with 147228 out of 1016883 bytes received) 
The download failed repeatedly, aborting. 

我使用Ubuntu 14.04 LTS

关于为什么会一直发生的任何想法?

+0

权限?尝试用'sudo'运行它。 – hcoat 2014-08-30 17:43:25

+0

检查您的网络连接 – hek2mgl 2014-08-30 17:44:14

+0

@ hek2mgl我的朋友的机器可以使用作曲家没有问题。 – srph 2014-08-30 17:46:54

回答

1

我不知道,这适用于您重新安装选项,但它可能适用于您最初的超时问题(除Vector的建议);我使用的是hhvm to run composer,它指定了自己的请求超时参数,它覆盖了您在composer.json或环境变量中指定的任何内容。上一个链接包含适当的信息来更详细地配置您的超时,但我的示例bash别名可能有所帮助。

alias composer='hhvm -v ResourceLimit.SocketDefaultTimeout=60 -v Http.SlowQueryThreshold=60000 -v Eval.Jit=false /home/liam/bin/composer' 
2

我之前就此建议过。尝试composer update/install -o -vvv并检查包是从作曲者的缓存加载的。

如果是,请尝试清除作曲家的缓存或尝试添加-cache-dir=/dev/null

要强制下载档案而不是克隆源,请使用--prefer-dist选项和--no-dev的组合。

否则,你可以尝试提高作曲家的过程超时值:

export COMPOSER_PROCESS_TIMEOUT=600 (defaults to 300)

+0

不过,我必须先得到作曲家。有任何想法吗? – srph 2014-08-30 17:49:00