安装Laravel时出现Composer错误“无法解码响应:zlib_decode():数据错误”

问题描述:

我已经安装了许多次laravel,但是今天当我需要为我的项目安装时,我遇到了以下奇怪的错误:安装Laravel时出现Composer错误“无法解码响应:zlib_decode():数据错误”

Failed to decode response: zlib_decode(): data error 

重试与降级模式

我运行下面的命令来安装laravel:

composer create-project laravel/laravel myproject --prefer-dist 
在我 /var/www/目录

这是完全读取,写入和执行。

+0

可能是你可以找到https://github.com/composer/composer/issues/4121 –

试试下面的命令:

composer clear-cache 

在Linux中我用sudo的前 '作曲家更新' 和问题就解决了。

sudo composer update 
+0

一些有用的信息,这是错误的答案,因为它可以真正拧紧非根工作区域中的作曲者权限。唯一一次你想以root用户身份运行composer的情况是,root用户正在维护一个PHP工作区(在任何情况下这通常都是个坏主意)。 事实上,以root用户身份运行此命令甚至会导致原始问题中报告的原始问题。 如果您不是root用户,那么您应该始终将作曲者作为您的自己而非根。 –

添加此行 “composer.json” 是conten这个符号的最后一行之前 “}”

, 
"repositories": [ 
{ 
"type": "composer", 
"url": "https://packagist.org" 
}, 
{ "packagist": false } 
] 

现在cd到项目文件夹,然后键入:

Composer install 

致谢: http://www.webdeveloper.com/forum/showthread.php?285403-Need-Help-Installing-Laravel

+0

澄清:您需要更改的composer.json位于您的虚拟机中/home/vagrant/.composer/ – Niels

composer clear-cache 

sudo composer self-update 

快速修复从composer

降级模式#

由于对特拉维斯和其他系统的一些间歇性问题,我们引入了一个降级的网络模式,该模式有助于作曲完成成功,但禁止一些优化。这是在第一次检测到问题时自动启用的。如果偶尔发现此问题,则可能不必担心(网络缓慢或过载也会导致超时),但如果它反复出现,则可能需要查看以下选项来识别并解决问题。

如果你已经指出了这个页面,您要检查的几件事情:

如果使用ESET杀毒,进入“高级设置”,禁用“HTTP扫描仪”下的“网络访问保护“ 如果您使用IPv6,请尝试禁用它。如果这样可以解决您的问题,请联系您的ISP或服务器主机,问题不在于Packagist级别,而在于您与Packagist(即大型互联网)之间的路由规则。使这些问题得到解决的最好方法是提高对有能力解决问题的网络工程师的意识。

要在Linux上禁用IPv6,请尝试使用此命令,附加规则宁愿IPv6上的IPv4到您的配置:

须藤SH -c“回声 '的优先级将:: ffff:0:0/96 100'> > /etc/gai.conf“

如果以上都没有帮助,请报告错误。

what @dwainm says之后,您还可以全局定义此配置,以避免编辑项目中的composer.json

创建~/.composer/config.json有:

{ 
    "repositories": [ 
     { 
      "type": "composer", 
      "url": "https://packagist.org" 
     }, 
     { 
      "packagist": false 
     } 
    ] 
} 

简称:运行composer self-update --update-keys,并按照指示。


循序渐进:

我试图安装我的项目依赖的时候了同样的错误:

Failed to decode response: zlib_decode(): data error 
Retrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more info 
Your configuration does not allow connection to http://packagist.org. See https://getcomposer.org/doc/06-config.md#secure-http for details. 
http://packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of date 

只是可以肯定,我尝试更新作曲家与composer self-update,这给了我相同的错误,但另一个提示:

[RuntimeException] 
The phar signature did not match the file you downloaded, this means your public keys are outdated or that the phar file is corrupt/has been modified 

的问题之一是通过运行

composer self-update --update-keys 

Composer Public Keys/Signatures页面进入键解决。之后我可以下载我的依赖关系。

使用命令composer clear-cache清除作曲家缓存。另外,请确保您有权访问您的.composer目录。它通常位于~/.composer

我将这个答案留给像我这样的人试过以上所有解决方案都不成功。在我的情况下,问题是Mac的Virtual Box(1.5.8)的相关版本。我降级了我以前的版本(1.5.2),并全部恢复正常工作。

在我的情况下,VirtualBox的版本是问题。 https://github.com/composer/composer/issues/5814

请确保您的VB不是5.0.28或5.1.8。

+0

我也有这个问题,它最终成为一个Virtualbox问题。我需要降级到版本5.1.6来解决它。 (我正在运行5.1.8) 另外,我读了运行5.0.28也导致了这个问题,降级到5.0.10解决了它。 – sagesolutions

+2

版本5.0.30已修复此问题。 –

+0

我正在使用5.1.4并仍然存在此问题:/ – Javis

安装或运行

composer config --global repositories.packagist.allow_ssl_downgrade false 

检查您是否已经安装了你的PHP CLI 我ZIP扩展后更新库帮助(Ubuntu的):sudo易于得到安装php7.0拉链

如果你看看人们想出的答案,有很多东西可以为不同的人修复它,包括使用“sudo”,使用“自我更新”等。

经过很多次的测试,我发现真正的答案就是继续反复运行它。它每次都会变得更远一点,并缓存之前得到最后一次数据。所以最终它才起作用,然后人们认为他们所做的最后一件事就是解决它。事实上,你只需要反复运行它。这显然是作曲家应该解决的问题。

的关键是看它每次运行它是使用

composer update -vvv

会告诉你多远,它与你运行它最后一次有时间取得进展。每次运行它时,通常都会下载另外一两个回购。

直到作曲家修复任何潜在的原因,这似乎是最好的解决方案。祝你好运。

这里是适合苗条的作曲家安装的正确方法。

1.启动作曲家安装程序(composerSetup.exe) 注意:如果默认情况下未选择php.exe文件,则转到您的安装文件夹(wamp,xamp,lamp - 您的安装选项)文件夹并在bin文件夹下,查找php \ php.exe - 这恰好是您的命令行php的苗条。 3.启动wamp,xamp或lamp(您选择的服务器)服务器(以避免错误“无法解码zlib流”) 3.然后继续安装的其余部分(这将最终导致完成安装没有用户输入需要进一步)。

我在同一个问题跑,而试图composer install doctrine/dbal 此消息一直显示:Failed to decode response: zlib_decode(): data error

我不得不composer.json通过添加以下行我更新:

{ 
... 
    "config": { 
    "http": true 
    } 
... 
} 

它解决了这一问题。我希望它能帮助你们中的一些人。

这可能看起来多余,但请尝试重新启动机器。如果你刚刚安装了作曲家和其他东西,那么你的系统可能只需要刷新。

我有这个相同的问题,但它现在正常工作后,重新启动(在Mac上)。

有很多这个问题的答案,因为有各种各样的因素可能导致这个问题。它基本上归结为1)缓存问题,2)与存储库(例如Packagist)的连接问题,或3)Composer项目的配置问题。

在重新配置整个设置之前,先消除选项1和2。例如,2017年5月23日,Packagist was having issues,所以切换到不同的镜像解决了我的问题。

对我来说,当我关掉我的VPN(ExpressVPN)时,这个错误消失。这里建议的其他方法不起作用。

在我的情况下,这个问题是由于我的〜/ .composer目录中的文件权限不好造成的。

于是我就

sudo chown myusername:myusername ~/.composer 

(替换用我的实际用户名名为myUsername)

然后作曲家运行良好。

窗口我用这个CMD

php composer.phar clear-cache