问题描述
我的工作场所禁止我们访问互联网,因此我们无法连接到 rubygems.org 远程安装 gems.
My workplace has banned us from internet access so we can't connect to rubygems.org to install gems remotely.
我可以在家访问 rubygems.org.有没有一种简单的方法可以让我在家下载和更新我们需要的 gem,然后将它们(通过便携式硬盘或其他东西)同步到我工作场所的本地 gem 镜像服务器,以便其他同事可以从该镜像服务器安装 gem?
I can access rubygems.org at home. Is there a simple way to enable me download and update the gems we need at home ,then sync them(by a portable hard disk or somthing) to a local gems mirror server at my workplace so that other colleagues caninstall gems from that mirror server?
推荐答案
你可以使用rubygems-mirror 镜像 gem 并 Gem in a box 托管它们.
You can use rubygems-mirror to mirror the gems and Gem in a box to host them.
安装 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 服务器:
Edit your application's Gemfile
to use your gem server:
source "http://your.servers.ip:9292"
.
或者将其添加为 rubygems.org 的本地 镜像,所以您不必更改您的 Gemfile
:
Or add it as a local mirror for rubygems.org, so you don't have to change your 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
这篇关于如何搭建一个rubygems镜像服务器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!