ここでは, プラットホーム別の RubyGems のインストール方法を解説する.
Gfdnavi 2.2.1 の動作は,Ruby on Rails (以後 Rails) 2.3.14 を用いて確認されている.おそらく 2.3.5 以降であれば動作す ると推定されるが,2.3.14 またはそれに近いバージョンを用いるのがよいであ ろう.Ruby on Rails 2.3.14 を入れる場合は, RubyGems のバージョンは 1.3.2 以上 1.7 未満でなくてはならない.
一般に Rails は rubygems の新しいバージョンを要求することが多いようだ. 今後の Gfdnavi の開発に追随する場合,Rails のバージョンアップが必要にな る可能性があるが,Rails をアップデートすると rubygems のアップデートを 迫られることがある.rubygems をソースから入れている場合,
gem update --system
でアップデートできるが,パッケージで入れている場合にこれを行うと整合性 がとれなくなるため,この形でのupdate は禁止されている場合が多い(少なく ともdeb パッケージではこの機能は使えないようになっている).このため, ソースから入れるか,rubygems のバージョンアップに追随するパッケージを導 入できるようにしておくのが望ましい.(Debianベースのディストリビューショ ンの場合,「不安定版」パッケージを利用するということになる.)
公式パッケージに収録されている rubygems の version は 1.2.0 である(最新安定版 lenny の場合). Rails 2.2 を使用するために rubygems 1.3.1 以上が必要であるため, ソースから install するか, rubygems 関連のパッケージのみ experimental(開発版) リリースから借りてくることになる.
以下では experimental のパッケージを借りてくる場合の簡単な手法(apt-pinning) について述べる. ソースから install する場合には ソースから を参 照されたい.
まず, experimental のパッケージを導入するので apt-line に experimental の リポジトリを追加する. /etc/apt/sources.list に, 例えば
deb http://cdn.debian.or.jp/debian/ experimental main contrib non-free
などを追記されたい.
次に, 「apt の pin 止め(apt-pinning)」と呼ばれる作業を行なう. これは, 既存の安定版環境が開発版(experimental)環境へと勝手に upgrade しないようにし, 明示的に指定したパッケージのみ(依存関係が満たされるならば)導入する手法である. /etc/apt/preferences (無ければ新規作成)に,
Package: * Pin: release a=experimental Pin-Priority: 90
と記述する. これは release が unstable である全て(*)のパッケージに対し て, Pin-Priority として 90 を指定する, という意味である. Pin-Priority に 100 以下の値を設定されたパッケージは明示的に指定しない限り install と upgrade の対象とはならない.
apt-pinning を行なったら, 以下のコマンドでパッケージを導入する.
$ sudo -s # apt-get update # apt-get install ruby1.8-dev <-- 安定版の ruby を導入 # apt-get install rubygems1.8 -t experimental <-- 明示的に開発版の rubygems を導入
最後に環境変数を設定する. Debian の RubyGems で提供されるライブラリ は /var/lib/gems 以下にインストールされる. rails や rake を実行する為に, 環境変数 PATH を設定しておこう. また, RubyGems を用いて導入するライブラリの導入先を変更したい場合には, 環境変数 GEM_HOME を設定する. 詳しくは /usr/share/doc/libgems-ruby1.8/README.Debianを参照されたい
一時的に設定する場合には
$ export PATH=/var/lib/gems/1.8/bin:$PATH
ログインする度に設定するのは面倒だ, という人は ~/.bashrc 等に 上記の設定を記述しておくと良い.
$ vi ~/.bashrc export PATH=/var/lib/gems/1.8/bin:$PATH
一時的に設定する場合には
$ setenv PATH /var/lib/gems/1.8/bin:$PATH
ログインする度に設定するのは面倒だ, という人は ~/.cshrc 等に 上記の設定を記述しておくと良い.
$ vi ~/.cshrc setenv PATH /var/lib/gems/1.8/bin:$PATH
Debian lenny 同様に,Debian の開発版を導入するか,ソースから導入する. 後者の場合,コマンドラインで次のようにできる(ここでは bash を仮定し, ruby on rails のインストールまで行っている).なお,内容については ソースコードを取得してインストールを参照されたい.
$ wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz $ tar xvzf rubygems-1.3.1.tgz $ cd rubygems-1.3.1 $ sudo ruby setup.rb --prefix=/var/lib/gems/1.8 $ touch ~/.bashrc $ cat >> ~/.bashrc export GEM_HOME=/var/lib/gems/1.8/ export PATH=$PATH:/var/lib/gems/1.8/bin export RUBYLIB=$RUBYLIB:/var/lib/gems/1.8/lib (ここで ctrl-d) $ source ~/.bashrc $ hash -r $ sudo -s # gem1.8 install rake --remote # gem1.8 install rails --remote
$ sudo apt-get install rubygems
rubygems 0.9.2 が公式パッケージとして存在しています. しかしながら Rails 2.0 を使用するためには rubygems 0.9.5 以上が必要となります. よって,
# apt-get install rubygems
で RubyGems をインストールした後,
# gem update --system
として, gem で最新版にアップデートして下さい. インストールされているかは,
# gem -v
で確認して下さい. もし
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)
のようなエラーが出れば, /usr/bin/gem の
require 'rubygems'
のあとに
require 'rubygems/gem_runner'
の行を付け足してください.
公式RPMパッケージの RubyGems のバージョンは 0.9.4 ですので, Rails 2.0.x をインストールするためには ソースコードを取得してインストールしてください.
RubyGems の公式RPMパッケージは用意されていません. ソースコードを取得してインストールしてください.
Leopard では RubyGems が標準添付されていますが, ここでは Fink版 RubyGems をインストールします. Fink 導入方法の簡単な説明が Dennou-Ruby Products on MacOSX にありますので参考にして下さい.
$ fink install rubygems-rb18
ソースコードを取得してインストールしてください.
先ずRubyGems のサイトから rubygems 本体を取得し適当なディレクトリに展開する. 以下では rubygems_src へ展開して作業することにします.
$ mkdir rubygems_src $ cd rubygems_src $ wget http://rubyforge.org/frs/download.php/69365/rubygems-1.3.6.tgz $ tar xvzf rubygems-1.3.6.tgz
後は(必要ならば管理者権限に移行して)
$ cd rubygems-1.3.6 $ ruby setup.rb
とすればインストールできる.
なお, rubygems-0.9.5 からは setup.rb の仕様が変わっており config, setup 等は不要(無効)である. インストール先を明示的に指定した い場合, 例えば RubyGems を
インストールパス /var/lib/gems/1.8 パッケージインストールパス /var/lib/gems/1.8/gems
へと導入したい場合には以下の様に作業すれば良い(管理者権限が無く, ユー ザ領域に install したい場合には, 以下の内容を適宜読み代えられたい).
$ cd rubygems-1.3.6 $ sudo -s # mkdir -p /var/lib/gems/1.8/ # export GEM_HOME=/var/lib/gems/1.8 # ruby setup.rb --prefix=/var/lib/gems/1.8
この結果 RubyGems 関連のファイルは以下の用にインストールされる.
gem 関連のコマンド /var/lib/gems/1.8/bin (実際は $GEM_HOME/bin です.) rubygems.rb などの library /var/lib/gems/1.8/lib (実際は $GEM_HOME/lib です.)
install された RubyGems の設定の確認には以下のコマンドを実行すると良い.
$ RUBYLIB=/var/lib/gems/1.8/lib /var/lib/gems/1.8/bin/gem1.8 environment
最後に環境変数の設定する. PATH, RUBYLIB を追加しておこう.
GEM_HOME /var/lib/gems/1.8 PATH /var/lib/gems/1.8/bin RUBYLIB /var/lib/gems/1.8/lib
一時的に設定する場合には
$ export PATH=$PATH:/var/lib/gems/1.8/bin $ export RUBYLIB=$RUBYLIB:/var/lib/gems/1.8/lib
ログインするたびに設定を有効にするために, ~/.bashrc などの設定 ファイルに上記の記述を書き込んでおくと良い.
$ vi ~/.bashrc export GEM_HOME=/var/lib/gems/1.8/ export PATH=$PATH:/var/lib/gems/1.8/bin export RUBYLIB=$RUBYLIB:/var/lib/gems/1.8/lib
一時的に設定する場合には
$ setenv PATH $PATH:/var/lib/gems/1.8/bin $ setenv RUBYLIB $RUBYLIB:/var/lib/gems/1.8/lib
ログインするたびに設定を有効にするために, ~/.cshrc などの設定 ファイルに上記の記述を書き込んでおくと良い.
$ vi ~/.cshrc setenv GEM_HOME /var/lib/gems/1.8/ setenv PATH $PATH:/var/lib/gems/1.8/bin setenv RUBYLIB $RUBYLIB:/var/lib/gems/1.8/lib