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
参考ページ
- ruby - Download all gems dependencies - Stack Overflow
今回の内容は丸々こちらを参考にさせてもらいました。 - Rubyのライブラリーをgemでローカルインストールする: Computer Practice
- gem のローカルインストール - yshのメモ日記
- RubyのGemでローカルからインストールする方法 | Oreradio.memo
上記はgemのローカルインストールに言及されている記事。