我的工作场所禁止我们上网,因此我们无法连接到rubygems.org远程安装宝石。
我可以在家访问rubygems.org。是否有一种简单的方法可以让我下载和更新我们在家需要的宝石,然后将它们(通过便携式硬盘或其他东西)同步到我工作场所的本地宝石镜像服务器,以便其他同事可以 从该镜像服务器安装gem?
答案 0 :(得分:36)
您可以使用rubygems-mirror镜像宝石,Gem in a box来托管它们。
安装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的本地mirror,因此您无需更改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
答案 1 :(得分:0)
我不认为'宝石镜'继续从它离开的地方非常可靠。我遇到了以下问题https://github.com/rubygems/rubygems-mirror/issues/22,我等待从宝石所有者那里收到回复