我的工作场所禁止我们访问互联网,因此我们无法远程连接到rubygems.org来安装宝石(gems)。
我可以在家中访问rubygems.org。有没有简单的方法使我能够在家中下载和更新所需的宝石,然后将它们同步(通过便携式硬盘或其他方式)到我们工作场所的本地宝石镜像服务器上,以便其他同事也可以从该镜像服务器安装宝石?
我的工作场所禁止我们访问互联网,因此我们无法远程连接到rubygems.org来安装宝石(gems)。
我可以在家中访问rubygems.org。有没有简单的方法使我能够在家中下载和更新所需的宝石,然后将它们同步(通过便携式硬盘或其他方式)到我们工作场所的本地宝石镜像服务器上,以便其他同事也可以从该镜像服务器安装宝石?
你可以使用rubygems-mirror来镜像gem,使用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 in a box中安装Gem:
$ gem install geminabox
启动 gem 服务器:
$ cd ~/.gem/mirror
$ rackup
编辑您的应用程序的 Gemfile
,以使用您的 gem 服务器:
source "http://your.servers.ip:9292"
.
或者将其添加为本地的镜像,这样你就不必更改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 mirror”并不是非常可靠的。我遇到了以下问题https://github.com/rubygems/rubygems-mirror/issues/22,我正在等待宝石所有者的回复。