命令gem list --remote
发出“https://rubygems.org/latest_specs.4.8.gz”的http请求。
如何解码此文件,而我已经解压缩并发现了一些不可读的字符!
或者有宝石可以做到吗?
我所做的就是尝试使用ruby代码获取完整的gem列表!
答案 0 :(得分:4)
要解码文件,请使用普通的旧版本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