命令gem list --remote
发出“https://rubygems.org/latest_specs.4.8.gz”的http请求'.
如何解码这个文件,当我提取它并发现一些不可读的字符时!
或者有没有gem可以做到这一点?
我所做的就是尝试使用 ruby 代码获取完整的 gem 列表!
最佳答案
要解码文件,请使用普通的旧 Ruby Marshal
该文件是一个大的 gzip 压缩和编码(二进制序列化)数组,其中包含 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
关于ruby - 如何从 'https://rubygems.org/latest_specs.4.8.gz'解码文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20174066/