有没有办法设置一个最小的rubygems镜像(只有最后版本)

时间:2011-01-18 16:27:38

标签: ruby rubygems mirror

我想为工作中的某些服务器构建一个rubygems镜像(无法访问Internet),所以我开始像每个人一样:

 $ cat gemmirror.config 
 ---
 - from: http://gems.rubyforge.org
 to: /data/rubygems/mirror

 $ gem mirror --config-file=gemmirror.config

镜像开始同步。好。但是等等,它会下载http://gems.rubyforge.org的全部内容!我的意思是每个宝石的所有现有版本。哇。几个小时后,我仍在下载以字母“L”开头的宝石......

更不用说镜子要占用的磁盘空间了。

现在我的问题:有没有办法设置一个“迷你”rubygems服务器,如CPAN :: Mini允许Perl:这样的镜像只包含每个宝石的最新版本。我想这是人们想要的99.9%的情况(至少这对我来说非常好)。

我搜索了很多,遗憾的是,我找不到任何参考。

如果有人能指出我这样做的方式,我会非常感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

不是你真正要求的,但也许解决这个问题的一种方法是设置一个缓存的http代理,它会在请求时缓存gems,后续请求会到达缓存。

squid之类的东西可以胜任。

然后每个客户端配置gem proxy以使用squid,因此所有gem下载都会通过它,并且希望99%的时间都在缓存中...

虽然如果你使用bundler,似乎是has issues with the proxy settings :(