我需要用Ruby解压缩.rar档案。虽然我找不到宝石 我发现了rar gem只允许创建存档。
我对可以通过gem 'unrar', git: 'git@github.com:aileron/unrar.git'
安装的unrar感到困惑。这是使用它的粗略草图......
require 'unrar'
archive = Unrar.new('test.rar')
file_id = archive.list_contents.first[:filename]
File.open('output-name', 'w') { |file| file.write(archive.extract(file_id)) }
答案 0 :(得分:4)
在对这个主题做了一些额外的阅读后,似乎任何用于此的宝石基本上都被放弃了。但是,您可以brew install unrar
并使用Ruby system('unrar l your_file.rar')
中的内容。
答案 1 :(得分:2)
ffi-libarchive提供了基于gem的解决方案。即使它们没有特别提及,它也适用于rar文件(请参见issue #151)。将此添加到应用程序的Gemfile中:
gem 'ffi-libarchive'
然后执行:
$ bundle