如何在Ruby中访问'zip'gem(或'rubyzip')?

jwf*_*arn 3 ruby zip rubygems archive

我必须遗漏一些完全明显的东西,但我似乎无法让'zip'宝石工作.我已经用rubygems安装它,就像我已经完成了许多其他宝石一样.Rubygem说它存在但是当我试图要求它时,Ruby说它不在那里.我在Windows和Linux上都遇到了同样的问题.这是一个Linux会话(为简洁起见,删除了额外的输出):

~$ ruby -v
ruby 1.8.7 (2011-02-18 patchlevel 334) [x86_64-linux]
~$ gem list z
~$ sudo gem install zip 
Successfully installed zip-2.0.2
~$ irb
irb(main):001:0> require 'zip/zip'
LoadError: no such file to load -- zip/zip
        from (irb):1:in `require'
        from (irb):1
        from :0
Run Code Online (Sandbox Code Playgroud)

和Windows会话:

C:\> ruby -v
ruby 1.8.7 (2011-02-18 patchlevel 334) [i386-mingw32]
C:\> gem list z
C:\> gem install zip
Successfully installed zip-2.0.2
C:\> irb
irb(main):001:0> require 'zip/zip'
LoadError: no such file to load -- zip/zip
        from (irb):1:in `require'
        from (irb):1
Run Code Online (Sandbox Code Playgroud)

我想也许有一些"拉链"需要的潜在依赖,但我在文档中没有发现任何相关信息.

'rubyzip'也有同样的缺乏成功 似乎'zip'和'rubyzip'可能是叉子?

有任何想法吗?或者,如果有一个更好的宝石存档,我很乐意听到它. zip存档宝石的选择令人困惑. 宝石'Zippy'看起来不错但它需要'拉链'所以我仍然卡住了.

fl0*_*00r 6

试试这个.

gem install rubyzip2
Run Code Online (Sandbox Code Playgroud)

然后

irb> require 'rubygems'
#=>  true
irb> require 'zip/zip'
#=>  true
# you can also require 'zip/zipfilesystem'
Run Code Online (Sandbox Code Playgroud)

  • rubyzip2现已弃用,因此您应该使用rubyzip (3认同)