安装Laravel时编写器错误“无法解码响应:zlib_decode():数据错误”

时间:2015-11-03 14:10:23

标签: laravel laravel-5 composer-php

我已经安装了laravel很多次,但是今天当我不得不为我的项目安装时,我遇到了以下奇怪的错误:

Failed to decode response: zlib_decode(): data error
Retrying with degraded mode

我运行以下命令来安装laravel:

composer create-project laravel/laravel myproject --prefer-dist

在我的/var/www/目录中,它完全是读,写和可执行的。

26 个答案:

答案 0 :(得分:55)

尝试以下命令:

composer clear-cache

答案 1 :(得分:14)

在包含此符号“}”的最后一行之前,将这些行添加到“composer.json”

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

现在cd到您的项目文件夹并输入:

Composer install

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

答案 2 :(得分:13)

就我而言,VirtualBox的版本是个问题。 https://github.com/composer/composer/issues/5814

确保您的VB不是5.0.28或5.1.8。

答案 3 :(得分:11)

简短: 运行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页面输入密钥。之后我能够下载我的依赖项。

答案 4 :(得分:2)

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

使用以下内容创建~/.composer/config.json

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

答案 5 :(得分:2)

运行

后安装或更新库
composer config --global repositories.packagist.allow_ssl_downgrade false

答案 6 :(得分:2)

如果你看一下人们想出的答案,就会有各种各样的东西为不同的人修复它,包括使用“sudo”,使用“自我更新”等等。

经过大量测试后,我发现真正的答案就是一遍又一遍地继续运行它。它每次都会变得更远,并缓存它最后一次能够获得的先前数据。所以最终它才起作用,然后人们认为他们做的最后一件事就是解决了它。实际上你只需要一遍又一遍地运行它。这显然是作曲家应该解决的问题。

每次运行它时,看到它正在取得进步的关键是使用

  

作曲家更新-vvv

这会告诉你上次运行它有多远。每次运行它时,通常会下载另一个或两个回购。

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

答案 7 :(得分:1)

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

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

答案 8 :(得分:1)

composer

快速修复

降级模式#

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

如果您已经指向此页面,则需要检查以下几点:

如果您使用的是ESET防病毒软件,请进入"高级设置"并禁用" HTTP-scanner"在"网络访问保护" 如果您使用的是IPv6,请尝试禁用它。如果这解决了您的问题,请与您的ISP或服务器主机联系,问题不在于Packagist级别,而在于您与Packagist(即整个互联网)之间的路由规则。解决这些问题的最佳方法是提高对有能力修复它的网络工程师的认识。

要在Linux上禁用IPv6,请尝试使用此命令将更喜欢IPv4 over IPv6的规则附加到您的配置:

sudo sh -c" echo' precedence :: ffff:0:0/96 100' >> /etc/gai.conf"

如果上述方法均无效,请报告错误。

答案 9 :(得分:1)

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

我遇到了同样的问题,但现在它在重启后正常工作(在Mac上)。

答案 10 :(得分:1)

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

答案 11 :(得分:0)

窗口中的

我使用了这个cmd

php composer.phar clear-cache

答案 12 :(得分:0)

这是正确安装作曲家的方法。

1.启动composer安装程序(composerSetup.exe) 注意:如果默认情况下没有选择php.exe文件,那么转到你的安装文件夹(wamp,xamp,lamp -your choice of installation)文件夹和bin文件夹下,查找php \ php.exe - 碰巧是你的命令行PHP苗条。 2.启动wamp,xamp或lamp(您选择的)服务器(以避免错误“无法解码zlib流”) 3.然后继续安装的其余部分(最终将导致安装完成,无需进一步的用户输入)。

答案 13 :(得分:0)

解决方法Mac OS X:

获取网络设备的名称:

networksetup -listallnetworkservices

在该设备上禁用IPv6(在本例中为“Wi-Fi”):

networksetup -setv6off Wi-Fi

运行作曲家......

您可以使用以下命令重新启用IPv6:

networksetup -setv6automatic Wi-Fi

答案 14 :(得分:0)

我一直面临类似的问题。在composer.json文件中写入给定的行,然后在下一个composer命令之后运行composer update。希望它能对我有所帮助。

“存储库”:[         {             “ type”:“ composer”,             “ url”:“ https://packagist.org”         },         {“ packagist”:假}     ]

答案 15 :(得分:0)

对于Windows 10


根据TroubleShooting Composer,对于其他操作系统,其他答案也指出,这可能是由于ipv6引起的。如果我们为所有隧道禁用它,则Windows 10中将解决该问题。

要在Windows中禁用ipv6:

Download EasyFix file from Microsoft Support并按照此处所述的步骤操作:

  1. 单击“下载”按钮以获取要运行的过程。
  2. 在“文件下载”对话框中单击“运行”或“打开”。
  3. 按照简单修复向导中的步骤进行操作。

注意:我下载了cfs = cfs.assign(month=cfs.index.month).sort_values('month').drop('month', axis=1) 版本并运行了它。然后,我可以使用Disable IPv6 on all tunnel interfaces命令。

答案 16 :(得分:0)

尝试composer清除缓存,然后关闭Windows防火墙

答案 17 :(得分:0)

对于 linux ubuntu 20.04

逐步尝试这些:

0-go to home by command "**cd ~**"
1-**composer clear-cache**
2-remove old version of composer (1.x.x) if exists "**sudo rm -R ~/.config/composer**"
3-change your internet connection(cable or wifi or ...)(important)
4-install new version with these commands...
4-1: **sudo apt update**
4-2: **sudo apt install php-cli unzip**
4-3: **sudo apt install curl**
4-4: **cd ~**
4-5: **curl -sS https://getcomposer.org/installer -o composer-setup.php**
4-6: **HASH=`curl -sS https://composer.github.io/installer.sig`**
4-7: **php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"**
4-8: **sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer**
4-9: check composer version with "**composer --version**"

如果返回 composer 1.x.x,请检查:

php /usr/local/bin/composer

如果返回2.x.x,你必须找到你本地安装的composer并删除它的文件夹。

不要删除这个文件夹/usr/local/bin/composer

答案 18 :(得分:0)

在我的情况下,问题是由〜/ .composer目录中的错误文件权限引起的。

所以我跑了

sudo chown myusername:myusername ~/.composer

(用我的实际用户名替换myusername)

然后作曲家跑得很好。

答案 19 :(得分:0)

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

答案 20 :(得分:0)

我在尝试composer install doctrine/dbal时遇到了同样的问题 此消息一直显示:Failed to decode response: zlib_decode(): data error

我必须通过添加以下行来更新我的composer.json

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

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

答案 21 :(得分:0)

检查您是否为PHP CLI安装了ZIP扩展程序 对我来说帮助(ubuntu):sudo apt-get install php7.0-zip

答案 22 :(得分:0)

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

答案 23 :(得分:0)

composer clear-cache

sudo composer self-update

答案 24 :(得分:0)

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

sudo composer update

答案 25 :(得分:-2)

对于我自己,我只是做

sudo apt-get upgrade composer