ошибка не в формате gzip - PullRequest
4 голосов
/ 17 июня 2010

при установке любого Gem или внесении в список ошибок, связанных с gem 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

Пожалуйста, помогите мне, как восстановить это

Ответы [ 5 ]

4 голосов
/ 17 июня 2010

Похоже, что rubygems.org (или любой заданный вами источник гемов) не работает.

1 голос
/ 31 августа 2011

Не уверен, что ваша ошибка произошла в tar_input.rb или ruby_core_source.rb.

Большинство людей решило ошибку tar_input.rb, очистив файлы кэша.Я решил один для ruby_core_source.rb: 57 'initialize': не в формате gzip, а вот описание и обходной путь:

Проблема была в том, что "иногда" исходный файл ruby ​​на ftp-сервере, вероятно, неtar + gzip.Поэтому иногда исходный файл неверен.

Я только что просмотрел исходный код, и код ожидает .tar.gz на ftp-сервере (например, http ://ftp.ruby-lang.org/pub/ruby/1.9/xxx.tar.gz).Но найденный файл был только tar, но не gzip-ed.

Обходной путь - изменить код в вашем каталоге gem.

Я ищу ppl, который знает, почему файл размещен вruby-lang.org неправильно распакован.Надеюсь, что это может решить навсегда.

Вот подробное описание моей находки:

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

Вот обходной путь, исходный код, который вы должны изменить:

https://gist.github.com/1183048
1 голос
/ 17 июня 2010

Убедитесь, что вы используете правильные источники драгоценных камней.

$ gem sources

должен отображать http://rubygems.org/ в качестве первого источника.

Если отсутствует, добавьте http://rubygems.org/ в качестве основного источника. В противном случае это может быть временная проблема с индексом RubyGems.

Также убедитесь, что вы используете последнюю версию RubyGems (библиотеки).

$ gem update --system
0 голосов
/ 14 сентября 2012

Я столкнулся с этой проблемой при использовании сети, которая требует проверки подлинности фазы 2.Я забыл пройти аутентификацию в браузере, поэтому любой веб-запрос был перенаправлен на локальную страницу аутентификации.Может показаться, что gem не проверяет, действительно ли полученный ответ получен от фактического сервера rubygems.org (и он не может основываться только на поиске адресов, если вы не использовали сертификат ssl).Вместо того, чтобы сообщать вам, что он не может добраться до реального сервера rubygems, он просто сообщает вам, что получаемые данные не в правильном формате (в архиве).Предположительно, если вы запустили вредоносный DNS-сервер, который перенаправил rubygems.org на ваш собственный сервис, вы можете внедрить в гем все, что захотите ....

0 голосов
/ 19 июля 2010

Узнайте, где ваш рубин настроен для поиска источников:

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

http://gems.rubyforge.org/

Если он указывает на gems.rubyforge.org (который используется при первой установке для более старых двоичных файлов установки), то вы указываете на старый веб-сервер, поэтому, когда ruby ​​пытается получить обновления, он получает перенаправление HTTP (302) в качестве ответа вместо ожидаемых данных в формате GZIP. По-видимому, у него нет обработчика ошибок, настроенного на обнаружение перенаправления, поэтому он просто сдается.

Чтобы исправить это, вы должны обновить список источников. Сначала добавьте правильный источник:

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

Затем удалите устаревший:

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

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

http://rubygems.org/

Следующее обновление вашей системы ruby:

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.
...

Обратите внимание, что обновление проверяет, что старый исходный URL больше не действителен ...

Теперь вы сможете продолжить установку, которая в моем случае была rake.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...