如何使用Ruby提取.rar存档?

问题描述 投票:6回答:2

我需要使用Ruby解压缩.rar存档。我找不到宝石。我发现了rar宝石,该宝石只允许创建档案。


我对unrar感到困惑,可以通过gem 'unrar', git: '[email protected]:aileron/unrar.git'安装它。这是使用它的粗略草图...

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)) }
ruby gem rar winrar
2个回答
4
投票

在对该主题进行了一些额外的阅读之后,看来所有用于此目的的宝石都基本上被废弃了。但是,您可以brew install unrar并从Ruby system('unrar l your_file.rar')中使用它。


0
投票

ffi-libarchive提供了基于gem的解决方案。即使它们没有特别提及,它也适用于rar文件。将此添加到您的应用程序的Gemfile:

gem 'ffi-libarchive'

然后执行:

$ bundle
© www.soinside.com 2019 - 2024. All rights reserved.