Windowsに複数バージョンのRubyをインストールする
今回の要件
- 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は、また別のインストーラなので、それを使ってインストールします。