Windowsに複数バージョンのRubyをインストールする

2014年2月3日

今回の要件

  • Windowsに複数のバージョンのRubyをインストールする。
  • バージョンの切り替えを出来るようにする。
  • ネイティブなgemもインストールしたい。
    たとえばnokogiri とか jsonとか

ダウンロード

ということで、まずは必要なRubyのダウンロード。
以下のページからインストーラをダウンロードします。

http://rubyinstaller.org/downloads/
http://ruby-lang.org/からもリンクがあります。

今回はシステム側に2.0.0、切り替え用として1.8.7をインストールします。

なので、ダウンロードページから

2.0.0のインストーラと1.8.7のインストーラをダウンロード。
現時点でダウンロードページにアップされているインストーラは
Ruby 2.0.0-p353 (x64)
Ruby 1.8.7-p374

続いて、それぞれのバージョンでネイティブのgemをインストール出来るようにするために
DEVELOPMENT KITをダウンロードします。
DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe

Ruby本体をインストール

まずは、2.0.0のインストーラで普通にインストールします。

[インストーラ画面割愛]

インストールパスは
C:\Ruby200-x64
とします。

システム環境変数へは、C:\Ruby200-x64\binをPathに追加設定します。

つづいて、1.8.7のインストーラを起動してインストールします。

インストーラ画面割愛

インストールパスは
C:\Ruby187
とします。

この1.8.7の場合はシステム環境変数へはパスを追加しないようにしてインストールします。

これで二つのバージョンをインストールしました。

これを切り替えるためのツールをインストールします。

切り替えるにはpikというツールを使います。

Linuxな環境とかだと、rvmのようなイメージです。

pikは以下のページよりダウンロードします。

https://github.com/vertiginous/pik/downloads

今回はインストーラ形式のものをダウンロードします。

インストールパスは
C:\pik
と指定します。

Append c:\pik\ to system path.

にチェックを入れておきます。

インストールが完了すると、プロンプト画面でpikコマンドが使えるようになります。

pikコマンドでは、rvmと同様、インストール出来るRubyのバージョンが一覧表示できます。

pik list -r

今回はすでに2.0.0と1.8.7をインストールしてあるので、これをpikのconfig.ymlに登録します。

pik add C:\Ruby200-x64\bin
pik add C:\Ruby187\bin

pikの設定は
c:\Users/hoge/.pik
というディレクトリに出来上がるconfig.ymlを編集します。
※出来てない場合、pik listとかをたたくと、出来上がると思います。
それでも出来上がらない場合、手で作りましょう。

設定がファイルに入ったことを確認します。c:\Users/hoge/.pik
というディレクトリに出来上がるconfig.ymlを確認します。

---
"[ruby-]1.8.7-p374":
:path: !ruby/object:Pathname
path: C:/Ruby187/bin
:version: |
ruby 1.8.7 (2013-06-27 patchlevel 374) [i386-mingw32]

"[ruby-]2.0.0-p353":
:path: !ruby/object:Pathname
path: C:/Ruby200-x64/bin
:version: |
ruby 2.0.0p353 (2013-11-22) [x64-mingw32]

--- {}

設定をしたら、設定内容をpikからも確認してみます。

pik list

を実行。

C:\Users\hoge>pik list
ruby-1.8.7-p374
=> ruby-2.0.0-p353

Rubyのバージョンを切り替えるには

pik use ruby-1.8.7-p374

切り替わると、pik listのコマンド結果で矢印の位置が1.8.7の前に来ていると思います。
Rubyのバージョンを確認してみましょう。

C:\Users\hoge>ruby -v
ruby 1.8.7 (2013-06-27 patchlevel 374) [i386-mingw32]

これで切り替えられるようになったので、そのまま1.8.7の環境にdevkitを入れます。

先ほどダウンロードしたdevkit(DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe)をインストールします。

インストールパスは
C:/Ruby187
とします。

これで、c:\Ruby187にdevkitのファイル群が追加でインストールされます。

プロンプトでc:\Ruby187に移動して

ruby dk.rb init

を実行。

続いて、

ruby dk.rb install

を実行。

これで、devkitがインストール完了です。

ネイティブなgemがインストール出来るか確認します。

ネイティブなgemをインストールする時にエラーが出る場合、オプションに--platform=rubyという指定をつけます。

試しにjsonを入れてみます。

gem install json

これで問題なくインストール出来ていれば、完了です。

同様の作業をc:\Ruby200に対しても行います。

2.0.0用のdevkitは、また別のインストーラなので、それを使ってインストールします。

アンケート

Ruby, Windows

Posted by GENDOSU