如何搭建一个rubygems镜像服务器? [英] How to build a rubygems mirror server?
问题描述
我的工作场所禁止我们访问互联网,因此我们无法连接到 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 can install 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镜像服务器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!