最新的Composer版本没有拉Laravel

时间:2016-03-15 05:39:27

标签: php laravel composer-php

最新版本的Composer并未拉动Laravel,我认为可能是因为Composer添加了新的secure_http功能,可以从Packagist下载并且Laravel Packagist在HTTP中。这就是我的想法,所以我需要解决方案。之前版本的Composer表现不俗。 我在尝试安装Laravel安装程序时在终端上显示的错误是:

  

无法解码响应:zlib_decode():数据错误重试降级模式,请检查https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode以获取更多信息您的配置不允许连接到http://packagist.org。有关详细信息,请参阅https://getcomposer.org/doc/06-config.md#secure-httphttp://packagist.org无法完全加载,包信息从本地缓存加载,可能已过期安装失败,将./composer.json恢复为原始内容。 [Composer \ Downloader \ TransportException]您的配置不允许连接到http://packagist.org。有关详细信息,请参阅https://getcomposer.org/doc/06-config.md#secure-http

4 个答案:

答案 0 :(得分:27)

我遇到了同样的问题。在此处找到解决方案:Reddit Discussion of the issue

基本上,您有两种选择:

  • 通过运行

    恢复到以前的版本

    self-update --rollback

  • 或者,通过运行降级作曲家

    composer config -g secure-http false

答案 1 :(得分:10)

最后这个救了我,

sudo composer self-update

sudo composer clear-cache

sudo composer config -g secure-http false

sudo composer update --no-scripts

终于完成了!

答案 2 :(得分:1)

运行时(通过运行降级作曲家)

composer config -g secure-http false

我还有一个例外

Fatal error: Uncaught Error: Call to undefined method Composer\Package\RootPackage::getConfig() ...

我最终使用了额外的--no-plugins

获得了成功
composer config -g secure-http false --no-plugins
composer self-update --no-plugins

希望这有助于任何人:)

答案 3 :(得分:0)

我建议使用:

启用openssl

composer config -g -- disable-tls false

然后你还需要在php.in

中激活它

打开php.ini并搜索php_openssl,最终结果如下extension=php_openssl.dll

php_openssl.dll文件在你的php的ext目录中,所以如果你改变了php目录并且有一个错误,如

PHP Warning:  PHP Startup: Unable to load dynamic library 
'C:\php\ext\php_openssl.dll' - The specified module could not be found. 
in Unknown on line 0

您需要将extension=php_openssl.dll设置为extension="your php direcroty"\ext\php_openssl.dll

相关问题