我正在尝试安装一些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再次工作.
希望这可以帮助.
我今晚也刚开始得到这个。谷歌搜索发现了一堆没有提供结果的建议
gem update --system
Run Code Online (Sandbox Code Playgroud)
还有一些来自 jamis 的粘贴代码应该替换 package.rb 中的函数,但它应该替换的原始代码却找不到。
重新安装 rubygems 没有帮助。我现在正在重新安装 ruby......并且它已修复。虽然很痛。