无法安装ruby gems - zlib错误

sea*_*boy 9 ruby gem

我正在尝试安装一些Ruby Gems,这样我就可以使用Ruby在收到twitter消息时通知我.但是,在做了之后gem update --system,我现在每次尝试做gem install任何事情时都会收到zlib错误.下面是我在尝试安装ruby gem时获得的控制台输出.(以及来自的输出gem environment).

C:\data\ruby>gem install twitter
ERROR:  While executing gem ... (Zlib::BufError)
    buffer error

C:\data\ruby>gem update --system
Updating RubyGems
ERROR:  While executing gem ... (Zlib::BufError)
    buffer error

C:\data\ruby>gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 1.2.0
  - RUBY VERSION: 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
  - INSTALLATION DIRECTORY: c:/ruby/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: c:/ruby/bin/ruby.exe
  - EXECUTABLE DIRECTORY: c:/ruby/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-mswin32-60
  - GEM PATHS:
     - c:/ruby/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/
Run Code Online (Sandbox Code Playgroud)

小智 5

找到了!我在Windows上遇到了同样的问题(它突然出现,没有我做更新,但无论如何):

它与多个冲突的zlib版本有关(我认为).

在ruby/lib/ruby​​/1.8/i386-msvcrt中,确保存在zlib.so文件.就我而言,它已经存在了.如果没有,您可以尝试安装ruby-zlib.

然后转到ruby/lib/ruby​​/site_ruby/1.8 ./i386-msvcrt并删除那里的zlib.so文件.

在ruby/bin中,应该有一个zlib1.dll.出于某种原因,我的Ruby版本没有使用这个DLL.我下载了最新版本(1.2.3)并在那里安装了它.我不得不将它重命名为zlib.dll才能使用它.

和田田!Rubygems再次工作.

希望这可以帮助.


srb*_*ert 3

我今晚也刚开始得到这个。谷歌搜索发现了一堆没有提供结果的建议

gem update --system
Run Code Online (Sandbox Code Playgroud)

还有一些来自 jamis 的粘贴代码应该替换 package.rb 中的函数,但它应该替换的原始代码却找不到。

重新安装 ruby​​gems 没有帮助。我现在正在重新安装 ruby​​......并且它已修复。虽然很痛。