web-dev-qa-db-fra.com

Erreur du compositeur lors de l'installation de Laravel "Échec de la décodage de la réponse: zlib_decode (): erreur de données"

J'ai déjà installé laravel plusieurs fois, mais aujourd'hui, lorsque j'ai dû l'installer pour mon projet, j'ai eu l'erreur étrange suivante:

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

J'ai lancé la commande suivante pour installer laravel:

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

dans mon répertoire /var/www/ qui est totalement en lecture, écriture et exécutable. 

27
MKJ

Essayez la commande suivante:

composer clear-cache
53
Medmo

Ajoutez ces lignes à "composer.json" avant la dernière ligne contenant ce symbole "}"

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

Maintenant, cd dans votre dossier de projet et tapez:

Composer install

Crédits à: http://www.webdeveloper.com/forum/showthread.php?285403-Need-Help-Installing-Laravel

14
dwainm

Dans mon cas, la version de VirtualBox était le problème . https://github.com/composer/composer/issues/5814

Assurez-vous que votre VB n'est pas 5.0.28 ou 5.1.8.

13
codingdaddy

Short: Exécutez composer self-update --update-keys et suivez les instructions.


Étape par étape:

J'ai eu la même erreur en essayant d'installer des dépendances pour mon projet:

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

Juste pour être sûr, j'ai essayé de mettre à jour le compositeur avec composer self-update, ce qui m'a donné la même erreur, mais un autre indice:

[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

Les problèmes sont résolus en exécutant 

composer self-update --update-keys

et entrer les clés depuis Composer Public Keys/Signatures page. J'ai pu télécharger mes dépendances par la suite.

11
David Lukac

installer ou mettre à jour la bibliothèque après avoir exécuté 

composer config --global repositories.packagist.allow_ssl_downgrade false
2
oussaka

Si vous regardez les réponses des gens, cela indique que de nombreuses choses ont été corrigées pour différentes personnes, notamment utiliser "Sudo", "auto-update", etc. 

Après de nombreux tests, j'ai trouvé que la vraie solution était de continuer à l'exécuter encore et encore. Il va un peu plus loin chaque fois et met en cache les données précédentes qu'il avait pu obtenir la dernière fois. Donc, finalement, cela fonctionne, et les gens pensent alors que la dernière chose qu'ils ont faite est ce qui a résolu le problème. En réalité, il vous suffit de l'exécuter encore et encore. C'est clairement quelque chose que le compositeur devrait réparer.

La clé pour voir qu’il progresse chaque fois que vous l’exécutez est d’utiliser 

mise à jour du compositeur -vvv

Cela vous montrera jusqu'où cela s'est passé avec la dernière fois que vous l'avez exécuté. Chaque fois que vous l'exécutez, il télécharge généralement un ou deux autres dépôts. 

Jusqu'à ce que le compositeur corrige la cause sous-jacente, cela semble être la meilleure solution. Bonne chance.

2
orrd

Après ce que @dwainm dit , vous pouvez également définir cette configuration globalement pour éviter de modifier le composer.json de votre projet.

Créez un ~/.composer/config.json avec:

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

Correction rapide de compositeur

Mode dégradé #

En raison de problèmes intermittents sur Travis et d’autres systèmes, nous avons introduit un mode réseau dégradé qui aide Composer à terminer correctement mais désactive quelques optimisations. Ceci est activé automatiquement lorsqu'un problème est détecté pour la première fois. Si vous rencontrez ce problème de manière sporadique, vous n'avez probablement pas à vous inquiéter (un réseau lent ou surchargé peut également provoquer ces expirations), mais s'il apparaît régulièrement, vous pouvez consulter les options ci-dessous pour l'identifier et le résoudre.

Si vous avez été pointé sur cette page, vous souhaitez vérifier quelques points:

Si vous utilisez un antivirus ESET, allez dans "Paramètres avancés" et désactivez "Analyseur HTTP" sous "Protection de l'accès Web" Si vous utilisez IPv6, essayez de le désactiver. Si cela résout vos problèmes, contactez votre hébergeur, votre fournisseur de services Internet ou votre fournisseur d'accès. Le problème ne se situe pas au niveau de Packagist, mais dans les règles de routage entre vous et Packagist (c'est-à-dire Internet au sens large). Le meilleur moyen de résoudre ces problèmes est de sensibiliser les ingénieurs réseau qui ont le pouvoir de les réparer.

Pour désactiver IPv6 sous Linux, essayez d’utiliser cette commande qui ajoute une règle préférant IPv4 sur IPv6 à votre configuration:

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

Si rien de ce qui précède n'a aidé, veuillez signaler l'erreur.

1
Sam T

Cela peut sembler redondant, mais essayez de redémarrer votre ordinateur. Si vous venez d'installer Composer et d'autres éléments, il est peut-être nécessaire de rafraîchir votre système.

J'avais ce même problème, mais il fonctionne maintenant correctement après un redémarrage (sur Mac).

1
GoogleMac

Je laisserai cette réponse à ceux qui, comme moi, ont essayé toutes les solutions ci-dessus, ne réussissent pas. Dans mon cas, le problème était lié à la version de Virtual Box (1.5.8) pour Mac. J'ai rétrogradé ma version précédente (1.5.2) et tous sont retournés au travail correctement.

1
Carlos Pereira

Il y a beaucoup de réponses à cette question parce que divers facteurs peuvent être à l'origine de ce problème. Cela revient essentiellement à 1) un problème de mise en cache, 2) un problème de connexion à votre référentiel (par exemple, Packagist) ou 3) un problème de configuration avec votre projet Composer.

Avant de reconfigurer l’ensemble de votre configuration, commencez par éliminer les options 1 et 2. Par exemple, le 23 mai 2017 Packagist avait des problèmes , le passage à un autre miroir a donc résolu le problème pour moi.

1
peezy

dans la fenêtre j'ai utilisé cette cmd

php composer.phar clear-cache
0
Bai Nguyen

J'ai couru dans le même problème en essayant de composer install doctrine/dbal Ce message continuait d'afficher: Failed to decode response: zlib_decode(): data error

J'ai dû mettre à jour mon composer.json en ajoutant les lignes suivantes:

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

Et cela a résolu le problème. J'espère que cela aidera certains d'entre vous.

0
user5529089

Solution de contournement Mac OS X:

Obtenez le nom de votre périphérique réseau:

networksetup -listallnetworkservices

Désactivez IPv6 sur ce périphérique (dans ce cas, "Wi-Fi"):

networksetup -setv6off Wi-Fi

Exécuter le compositeur ...

Vous pouvez réactiver IPv6 avec:

networksetup -setv6automatic Wi-Fi
0
Jackaroo Ng

Vérifiez que vous avez l'extension Zip installée pour votre PHP CLI M'a aidé (Ubuntu): Sudo apt-get install php7.0-Zip

0
Superkozel

Dans mon cas, le problème était dû à de mauvaises autorisations de fichiers dans mon répertoire ~/.composer.

Alors j'ai couru

Sudo chown myusername:myusername ~/.composer

(en remplaçant myusername par mon nom d'utilisateur actuel)

Puis le compositeur a bien fonctionné.

0
Jon Watson

Pour moi, cette erreur disparaît lorsque j'éteins mon VPN (ExpressVPN). Les autres méthodes suggérées ici ne fonctionnaient pas.

0
aimfeld

Utilisez la commande composer clear-cache pour vider le cache du composeur. Assurez-vous également que vous avez accès à votre répertoire .composer. Il est généralement situé dans ~/.composer.

0
Jigar Mehta

De Documentation du compositeur :

En raison de problèmes intermittents sur Travis et d’autres systèmes, nous introduit un mode réseau dégradé qui aide Composer à terminer avec succès, mais désactive quelques optimisations. Ceci est activé automatiquement lorsqu'un problème est détecté pour la première fois. Si vous voyez ce problème de façon sporadique, vous n’aurez probablement pas à vous inquiéter (un réseau lent ou surchargé peut également provoquer ces temps morts), mais s’il apparaît de manière répétée vous voudrez peut-être examiner les options ci-dessous pour identifier et résoudre le problème il.

Si vous utilisez IPv6, essayez de le désactiver. Si cela résout vos problèmes, entrer en contact avec votre fournisseur d’accès à Internet ou votre serveur, le problème n’est pas lié à Niveau Packagist mais dans les règles de routage entre vous et Packagist (c'est-à-dire l'internet en général). La meilleure façon de les réparer est de lever sensibilisation des ingénieurs réseau qui ont le pouvoir de le réparer. Prendre consultez la section suivante sur les solutions de contournement IPv6.

SOLUTION POUR LINUX:

Pour désactiver ipv6, vous devez ouvrir /etc/sysctl.conf à l'aide de n'importe quel éditeur de texte et insérer les lignes suivantes à la fin:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
0
Adam Kozlowski
composer clear-cache

Sudo composer self-update
0
Kyizin

voici la manière correcte d’installer le compositeur pour slim.

1.démarrez le programme d'installation composer (composerSetup.exe) Remarque: si aucun fichier php.exe n'est sélectionné par défaut, accédez au dossier de votre installation (wamp, xamp, lamp - le choix de votre installation) et sous dossier bin, cherchez php\php.exe - qui est votre php de ligne de commande pour slim . 2. Démarrez le serveur wamp, xamp ou lamp (de votre choix) (pour éviter l’erreur "impossible de décoder" zlib stream ") 3. poursuivez ensuite avec le reste de l’installation (ce qui finira par mener à l’achèvement de l’installation sans aucune intervention supplémentaire de l’utilisateur).

0
Mahesh V N

sous Linux, j'utilisais Sudo avant la 'mise à jour du compositeur' et le problème résolu.

Sudo composer update
0
Naeim