読者です 読者をやめる 読者になる 読者になる

FLYING

〈全日本・紀文豆乳飲料シリーズ「麦芽コーヒー」の500ミリリットルパックを扱う小売店が少ないことに遺憾の意を表明する会〉活動記録

WindowsでRuby1.8とRuby1.9を共存させる(RubyGemsも!)

ruby

記事タイトルの通り,Windows環境でRuby1.8とRuby1.9共存させるための覚え書きです。

下準備

Downloads(いつもお世話になってます)から,Ruby1.9インストーラとRuby1.8のインストーラをそれぞれダウンロードします。ダウンロードしたインストーラを実行し,"C:\bin\ruby"*1Ruby1.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 ***


*1:このインストール先ディレクトリはあくまでも一例です。好みで他のディレクトリに読み替えてください

*2:Ruby共存のための設定が完了していないと実行できません。コマンドが存在しないという旨のエラーが表示された場合は,パスがきちんと通っているか確認してください

*3:バッチファイルから呼ばれるRubyのパスをRuby1.8の方に書き換えただけです