gemのローカルインストール用に依存gemを一括ダウンロードする

ネットに接続できない開発環境にRailsやPadrinoのような依存関係の多いgemをインストールしたい場合、事前にすべてのgemをダウンロードしておく必要があります。

手動で一つずつ依存関係を辿りながらダウンロードしていくのは気が遠くなりますが、bundlerを使えば一括で必要なgemファイルを得ることができます。

依存gemの一括ダウンロード

まず、ネットに接続できる環境でbundlerをインストールしておきます。

> gem install bundler

適当なフォルダを作って以下のような内容で「Gemfile」ファイルを作成します。

source "http://rubygems.org"
gem 'padrino'

同フォルダで以下のコマンドを実行すると、目的のgemと全ての依存gemがシステムにインストールされます。(システムにインストールしたくない場合は下記「gemをシステムにインストールしたくない場合」参照)

> bundle install

続いて以下のコマンドを実行すると、同フォルダの「vendor/cache」内に必要なgemファイルがコピーされます。

> bundle package

あとはネットに接続できない開発環境にUSBメモリなどでgemファイルをコピーし、以下のコマンドでインストールします。

> gem install --local padrino

gemをシステムにインストールしたくない場合

bundle installに--pathオプションを指定することでフォルダ内にgemをインストールできます。(この場合、同時に「vendor/cache」も作成されるため、「package」コマンドは不要です。)

> bundle install --path=vender/bundle

参考ページ

blog comments powered by Disqus