如何找到远程红宝石宝石的大小?

时间:2013-02-01 04:32:20

标签: ruby rubygems

我正在从rubygems安装libv8 gem(大约512M),并想知道为什么花了这么长时间。此...

  

gem specification -r libv8

......没有给我任何宝石的大小。然后我查看docs,看起来宝石创建者可以选择在rubygems预定义的“可选gemspec属性”之一中放置有关宝石大小的信息。

问:在安装之前,人们无法可靠地知道远程gem的大小吗?

奖金问题:将gem size设为必需的gemspec属性是不切实际的吗?

1 个答案:

答案 0 :(得分:4)

这是在OS X或Linux上执行此操作的可怕方法:

curl -s  https://rubygems.org/api/v1/gems/<gem-name>.yaml | sed -n "s/gem_uri: //p" | xargs curl -sLI | grep Content-Length | tail -1

会给你大小(以字节为单位)。

说明:

使用curl和rubygems api获取有关gem的一些信息:

curl -s  https://rubygems.org/api/v1/gems/thor.yaml

获取gem文件下载的URL

sed -n "s/gem_uri: //p"

下载gem的响应头(重定向后)

xargs curl -sLI 

仅显示'Content-Length'的最后一个实例

grep Content-Length | tail -1

结果(~82k):

Content-Length: 83456