2010-06-17 5 views
4

lors de l'installation tout Gem ou faire une liste des erreurs liées à gzip gemme vient comme indiqué ci-dessous: -pas erreur de format gzip

C:\Documents and Settings\gangunra>gem install rhosync -v 2.0.0.beta7 --pre 

ERROR: While executing gem ... (Zlib::GzipFile::Error) 
    not in gzip format 

C:\Documents and Settings\gangunra>gem list rails -r 

*** REMOTE GEMS *** 

ERROR: While executing gem ... (Zlib::GzipFile::Error) 
    not in gzip format 

S'il vous plaît, aidez-moi comment reslove ce

+0

duplication possible de [ERREUR: lors de l'exécution de gem ... (Zlib :: GzipFile :: Error) pas au format gzip] (http://stackoverflow.com/questions/13684137/error-while-executing-gem-zlibgzipfileerror-not-in-gzip-format) – CharlesB

Répondre

4

On dirait rubygems. org (ou toute source de gemme que vous avez définie) est en panne.

+0

Ceci est correct. Regardez ma réponse pour une cause possible. – dcow

1

Assurez-vous d'utiliser les bonnes sources Gem.

$ gem sources 

doit afficher http://rubygems.org/ comme première source.

S'il manque, ajoutez http://rubygems.org/ comme source principale. Sinon, il pourrait s'agir d'un problème temporaire avec l'index RubyGems.

Assurez-vous également que vous utilisez la dernière version de RubyGems (bibliothèque).

$ gem update --system 
+0

après l'exécution de sources précieuses de $ sortie est *** *** SOURCES ACTUELLES http://gems.rubyforge.org/ http://gems.github.com après l'exécution de la mise à jour gem $ - système sortie sera GEMS DISTANCE ** *** eRREUR: Pendant l'exécution gem ... (Zlib :: GzipFile :: erreur) pas au format gzip – Ravindra

+0

Effacer toutes les sources de gem existantes en utilisant le 'petit bijou $ sources' commande, puis ajoutez 'http: // rubygems.org' comme première source. 'gems.rubyforge.org' est l'ancienne URL. –

+0

Selon votre suggestion que j'avais apporté les modifications suivantes, alors même problème aussi C: \ Documents and Settings \ gangunra> Sources de pierres précieuses *** sources de courant *** http://rubygems.org/ C : \ Documents and Settings \ gangunra> gem update --system Mise à jour de RubyGems ERREUR: lors de l'exécution de gem ... (Zlib :: GzipFile :: Error) pas au format gzip – Ravindra

0

Découvrez où votre ruby ​​est configuré pour rechercher des sources:

C:\>gem sources 
*** CURRENT SOURCES *** 

http://gems.rubyforge.org/ 

S'il est pointé sur gems.rubyforge.org (ce qui est à la première installation pour les fichiers binaires d'installation plus) vous 'est pointé sur l'ancien serveur web alors quand ruby ​​essaie d'obtenir des mises à jour, il reçoit une redirection HTTP (302) en guise de réponse au lieu des données attendues au format GZIP. Il n'a apparemment pas de gestionnaire d'erreurs configuré pour détecter la redirection, donc il abandonne tout simplement. Pour corriger cela, vous devez mettre à jour la liste des sources. Ajoutez d'abord la source correcte:

C:\>gem sources -a http://rubygems.org/ 
http://rubygems.org/ added to sources 

Retirerensuitelesentretoisescaoutchouc dépréciée un:

C:\>gem sources -r http://gems.rubyforge.org/ 
http://gems.rubyforge.org/ removed from sources 

C:\>gem sources 
*** CURRENT SOURCES *** 

http://rubygems.org/ 

Prochaine mise à jour de votre système rubis:

C:\>gem update --system 
Updating RubyGems 
Updating rubygems-update 
Successfully installed rubygems-update-1.3.7 
:0:Warning: Gem::SourceIndex#search support for String patterns is deprecated 
Updating RubyGems to 1.3.7 
Installing RubyGems 1.3.7 
RubyGems 1.3.7 installed 

=== 1.3.7/2010-05-13 

NOTE: 

http://rubygems.org is now the default source for downloading gems. 

You may have sources set via ~/.gemrc, so you should replace 
http://gems.rubyforge.org with http://rubygems.org 

http://gems.rubyforge.org will continue to work for the forseeable future. 
... 

Notez que la mise à jour vérifie que l'ancienne URL source est pas plus valide ...

Vous devriez maintenant être en mesure de poursuivre votre installation, qui dans mon ca se était râteau.

1

Vous ne savez pas si votre erreur s'est produite dans tar_input.rb ou ruby_core_source.rb.

La plupart des personnes ont résolu l'erreur tar_input.rb en nettoyant les fichiers de cache. J'ai résolu celui pour ruby_core_source.rb: 57 'initialiser': pas au format gzip et voici la description et la solution:

Le problème était que "parfois" le fichier source ruby ​​dans le serveur ftp n'est probablement pas tar + gzip. Donc parfois le fichier source est incorrect. J'ai juste parcouru le code source, et le code attend un .tar.gz dans le serveur FTP (par exemple http ://ftp.ruby-lang.org/pub/ruby/1.9/xxx.tar.gz). Mais le fichier trouvé était uniquement tar, mais pas gzip-ed.

La solution de contournement consiste à modifier le code dans votre répertoire de gemme.

Je suis à la recherche de ppl qui sait pourquoi le fichier hébergé en ruby-lang.org n'est pas gzip-ed correctement. J'espère que cela peut résoudre pour toujours.

Voici la description de détail de ma conclusion:

http://ru05team.blogspot.com/2011/08/solving-workaround-initialize-not-in.html 

Voici la solution de contournement, le code source que vous devez changer:

https://gist.github.com/1183048 
0

je suis tombé sur ce problème lors de l'utilisation d'un réseau nécessite une authentification de phase 2. J'avais oublié de m'authentifier dans le navigateur afin que toute requête Web soit redirigée vers une page d'authentification locale. Il semblerait que gem ne vérifie pas si la réponse qu'il reçoit provient réellement du serveur réel de rubygems.org (et elle ne peut pas se baser uniquement sur la recherche d'adresse à moins que vous n'utilisiez un certificat ssl). Plutôt que de vous dire qu'il ne peut pas atteindre le serveur réel Rubygems, il vous indique simplement que la charge reçue n'est pas au bon format (zippé). Si vous exécutez un serveur DNS malveillant qui a redirigé rubygems.org vers votre propre service, vous pouvez probablement injecter ce que vous voulez dans les gems ....