【问题标题】:How to extract a .rar archive with Ruby?如何使用 Ruby 提取 .rar 存档?
【发布时间】:2015-06-27 15:24:16
【问题描述】:

我需要用 Ruby 解压一个 .rar 档案。不过我找不到宝石。
我发现了rar gem,它只允许创建存档。


我偶然发现了unrar,它可以通过gem 'unrar', git: 'git@github.com: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


    【解决方案1】:

    在对该主题进行了一些额外的阅读之后,似乎任何用于此目的的宝石基本上都被放弃了。但是,您可以 brew install unrar 并使用来自 Ruby 的 system('unrar l your_file.rar')

    【讨论】:

    • 如果可能的话,我更喜欢宝石。我试过gem 'rar_file', git: 'git@github.com:johanlunds/rar_file.git' 没有成功。
    【解决方案2】:

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

    gem 'ffi-libarchive'
    

    然后执行:

    $ bundle
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      • 2017-09-17
      • 2015-05-23
      • 2018-10-29
      相关资源
      最近更新 更多