WindowsでRuby1.8とRuby1.9を共存させる(RubyGemsも!)
記事タイトルの通り,Windows環境でRuby1.8とRuby1.9を共存させるための覚え書きです。
下準備
Downloads(いつもお世話になってます)から,Ruby1.9のインストーラとRuby1.8のインストーラをそれぞれダウンロードします。ダウンロードしたインストーラを実行し,"C:\bin\ruby"*1にRuby1.9を,"C:\bin\ruby18"にRuby1.8をインストールします。インストール途中で「Add Ruby executables to your PATH」というチェックボックスが現れるので,Ruby1.9の方のみこのチェックボックスをチェックしてください。
Ruby共存のための設定
"C:\bin\ruby\binにruby18.bat"という名前のファイルを作成し,適当なテキストエディタで次のように編集します。文字コードはShift_JISにしてください。
@echo off set __CALLER_PATH__=%CD% C:\Bin\ruby18\bin\ruby %* cd %__CALLER_PATH__%
RubyGemsの導入
Ruby1.8のバイナリにはRubyGemsが付属していないので,http://rubyforge.org/projects/rubygems/からRubyGemsのインストール用パッケージをダウンロードし,"ruby18 setup.rb"*2を実行してRubyGemsをインストールします。
RubyGems共存のための設定
先ほどと同様に,"C:\bin\ruby\binにgem18.bat"という名前のファイルを作成し,次のように編集します。
@echo off set __CALLER_PATH__=%CD% C:\Bin\ruby18\bin\gem %* cd %__CALLER_PATH__%
続いて,適当なテキストエディタで"C:\bin\ruby18\bin\gem.bat"を開き,次のように書き換えます*3。
@ECHO OFF IF NOT "%~f0" == "~f0" GOTO :WinNT @"ruby18" "C:/Bin/ruby/1_8/bin/gem" %1 %2 %3 %4 %5 %6 %7 %8 %9 GOTO :EOF :WinNT @"ruby18" "%~dpn0" %*
できあがり
これで作業は完了です。きちんとインストールされていれば,次のようになるはずです。
>ruby -v ruby 1.9.2p136 (2010-12-25) [i386-mingw32] >ruby18 -v ruby 1.8.7 (2010-12-23 patchlevel 330) [i386-mingw32] >gem -v 1.3.7 >gem list *** LOCAL GEMS *** minitest (1.6.0) rake (0.8.7) rdoc (2.5.8) >gem18 -v 1.3.7 >gem18 list *** LOCAL GEMS ***