【问题标题】:How to decode file from 'https://rubygems.org/latest_specs.4.8.gz'如何从“https://rubygems.org/latest_specs.4.8.gz”解码文件
【发布时间】:2013-11-24 11:44:12
【问题描述】:

gem list --remote 命令发出一个“https://rubygems.org/latest_specs.4.8.gz”的 http 请求。

如何解码这个文件,我解压后发现一些不可读的字符!

或者有宝石​​可以做到吗?

我所做的只是尝试使用 ruby​​ 代码获取完整的 gem 列表!

【问题讨论】:

    标签: ruby rubygems gem bundle


    【解决方案1】:

    要解码文件,请使用普通的旧 Ruby Marshal

    该文件是一个大的 gzip 和 Marshal'd(二进制序列化)数组,其中包含 gem 名称、版本和平台:

    $ wget http://rubygems.org/latest_specs.4.8.gz
    $ irb
    
    > m = Marshal.load(Gem.gunzip(File.read("latest_specs.4.8.gz")))
    > m.first #=> ["_", #<Gem::Version "1.2">, "ruby"]
    > m[666]  #=> ["activerecord-draft_records", #<Gem::Version "0.5.1">, "ruby"]
    > m.last  #=> ["zzzzzz", #<Gem::Version "0.0.3">, "ruby"]
    > m.size  #=> 66756
    

    【讨论】:

      猜你喜欢
      • 2021-06-30
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多