如何构建rubygems镜像服务器?
我的工作场所禁止我们上网,所以我们无法连接到rubygems.org远程安装gem。
我可以在家里访问rubygems.org。 有没有一种简单的方法可以让我下载和更新我们在家需要的gem,然后将它们(通过便携式硬盘或somthing)同步到我工作场所的本地gems镜像服务器,以便其他同事可以从该镜像服务器安装gem?
您可以使用rubygems-mirror将gem和Gem 镜像到一个框中以托管它们。
安装rubygems-mirror:
$ gem install rubygems-mirror
编辑~/.gem/.mirrorrc
:
--- - from: http://rubygems.org to: ~/.gem/mirror
创建镜像目录:
$ mkdir ~/.gem/mirror
开始镜像:
$ gem mirror
一旦镜像完成编辑~/.gem/mirror/config.ru
:
require "rubygems" require "geminabox" Geminabox.data = "./" run Geminabox
在一个盒子里安装Gem:
$ gem install geminabox
启动gem服务器:
$ cd ~/.gem/mirror $ rackup
编辑应用程序的Gemfile
以使用您的gem服务器:
source "http://your.servers.ip:9292" .
或者将其添加为rubygems.org的本地镜像 ,因此您无需更改Gemfile
:
$ bundle config mirror.https://rubygems.org https://localgems.lan $ bundle config mirror.http://rubygems.org http://localgems.lan
不时重新镜像你的镜子:
$ gem generate_index --directory ~/.gem/mirror
我不认为’gem镜’从它离开的地方继续非常可靠。 我遇到了以下问题https://github.com/rubygems/rubygems-mirror/issues/22我正在等待gem所有者的回复