@ledsun blog

無味の味は佳境に入らざればすなわち知れず

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

Windows上に複数バージョンのRubyの動きを確認する環境を整えます。 RubyRailsのバージョンにこだわらずに最新のRuby on Railsを使ってみたいならRails Installerを使った方が簡単です。

Rubyのインストール

RubyインストーラーでRubyを入れる。

http://rubyinstaller.org/downloads/ から最新版をダウンロードしてインストール。 1.8系のインストールは次のpikで何とかするので最新でOK。 今回は Ruby 1.9.3-p374 です。

Ruby の実行ファイルへ環境変数 PATH を設定する」をチェックをするのを忘れずに。 忘れた時は手動で環境変数を設定すれば大丈夫です。 詳しくはRubyダウンロード及びインストールスクリーンショット付きの丁寧な解説があるので見て下さい。

インストールができたか確認

C:\temp>ruby -v
ruby 1.9.3p374 (2013-01-15) [i386-mingw32]

pikのインストール

pikは、Windows内で複数のRuby環境を管理できるツールです。 https://github.com/vertiginous/pik/downloadsからmsiをダウンロードして実行します。 今回は pik-0.2.8.msi です。

インストールができたか確認

C:\temp>pik -v
pik 0.2.8

コマンドが見つからない場合はコマンドプロンプトを開き直してみて下さい。

pikに1.8系をインストールする

C:\temp>pik install ruby 1.8.7
** Downloading:  http://rubyforge.org/frs/download.php/76525/ruby-1.8.7-p371-i386-mingw32.7z
   to:  C:\Users\shigeru.nakajima\.pik\downloads\ruby-1.8.7-p371-i386-mingw32.7z


ruby-1.8.7-p371-i386-min...7z: 100% |oooooooooo|   5.1MB/  5.1MB Time: 00:01:07

You need the 7zip utility to extract this file.
Would you like me to download it? (yes/no)  |yes|

** Downloading:  http://downloads.sourceforge.net/sevenzip/7za465.zip
   to:  C:\Users\shigeru.nakajima\.pik\downloads\7za465.zip

7za465.zip: 100% |ooooooooooooooooooooooooooooo| 352.5KB/352.5KB Time: 00:00:00

** Extracting:  C:\Users\shigeru.nakajima\.pik\downloads\ruby-1.8.7-p371-i386-mingw32.7z
   to:  C:\Users\shigeru.nakajima\.pik\rubies\Ruby-187-p371
done

** Adding:  187: ruby 1.8.7 (2012-10-12 patchlevel 371) [i386-mingw32]
 Located at:  C:\Users\shigeru.nakajima\.pik\rubies\Ruby-187-p371\bin

pikで初めてRubyをインストールするときは7zをダウンロードするか聞かれます。yesと入れてEnterを押してください。

pikでRubyのバージョンを切り替える

C:\temp>pik use 187

C:\temp>ruby -v
ruby 1.8.7 (2012-10-12 patchlevel 371) [i386-mingw32]

pik install でエラーが出るとき

以下のエラーが出るときは、指定したバージョンのRubyが取得できていません。

C:\temp>pik install ruby 1.8.6

There was an error.
 Error: private method `gsub' called for nil:NilClass

  in: pik/commands/install_command.rb:24:in `execute'
  in: pik_runner:33

pik list -r を実行して指定したバージョンがインストール可能かどうか確認してください。

C:\temp>pik list -r
---
DevKit:
  3.4.5r3: http://rubyforge.org/frs/download.php/66888/devkit-3.4.5r3-20091110.7z
IronRuby:
  0.3.0: http://rubyforge.org/frs/download.php/53552/ironruby-0.3.0.zip
  0.5.0: http://rubyforge.org/frs/download.php/57126/ironruby-0.5.0.zip
  0.6.0: http://rubyforge.org/frs/download.php/59717/ironruby-0.6.0.zip
  0.9.0: http://rubyforge.org/frs/download.php/61382/ironruby-0.9.0.zip
  0.9.1: http://rubyforge.org/frs/download.php/64504/ironruby-0.9.1.zip
  0.9.2: http://rubyforge.org/frs/download.php/66606/ironruby-0.9.2.zip
  "1.0": http://rubyforge.org/frs/download.php/70179/ironruby-1.0.zip
  1.0-rc1: http://rubyforge.org/frs/download.php/67955/ironruby-1.0-rc1.zip
  1.0-rc2: http://rubyforge.org/frs/download.php/69180/ironruby-1.0-rc2.zip
  1.0.0rc: http://rubyforge.org/frs/download.php/69853/ironruby-1.0.0rc.zip
  1.0rc3: http://rubyforge.org/frs/download.php/69665/ironruby-1.0rc3.zip
  1.0v4: http://rubyforge.org/frs/download.php/70181/ironruby-1.0v4.zip
JRuby:
  1.6.8: http://jruby.org.s3.amazonaws.com/downloads/1.6.8/jruby-bin-1.6.8.zip
  1.7.2: http://jruby.org.s3.amazonaws.com/downloads/1.7.2/jruby-bin-1.7.2.zip
Ruby:
  1.8.7-p302: http://rubyforge.org/frs/download.php/72087/ruby-1.8.7-p302-i386-mingw32.7z
  1.8.7-p330: http://rubyforge.org/frs/download.php/73720/ruby-1.8.7-p330-i386-mingw32.7z
  1.8.7-p334: http://rubyforge.org/frs/download.php/74296/ruby-1.8.7-p334-i386-mingw32.7z
  1.8.7-p352: http://rubyforge.org/frs/download.php/75108/ruby-1.8.7-p352-i386-mingw32.7z
  1.8.7-p357: http://rubyforge.org/frs/download.php/75680/ruby-1.8.7-p357-i386-mingw32.7z
  1.8.7-p358: http://rubyforge.org/frs/download.php/75852/ruby-1.8.7-p358-i386-mingw32.7z
  1.8.7-p370: http://rubyforge.org/frs/download.php/76278/ruby-1.8.7-p370-i386-mingw32.7z
  1.8.7-p371: http://rubyforge.org/frs/download.php/76525/ruby-1.8.7-p371-i386-mingw32.7z
  1.9.1-p429: http://rubyforge.org/frs/download.php/71496/ruby-1.9.1-p429-i386-mingw32.7z
  1.9.1-p430: http://rubyforge.org/frs/download.php/72076/ruby-1.9.1-p430-i386-mingw32.7z
  1.9.2-p0: http://rubyforge.org/frs/download.php/72160/ruby-1.9.2-p0-i386-mingw32.7z
  1.9.2-p136: http://rubyforge.org/frs/download.php/73723/ruby-1.9.2-p136-i386-mingw32.7z
  1.9.2-p180: http://rubyforge.org/frs/download.php/74299/ruby-1.9.2-p180-i386-mingw32.7z
  1.9.2-p290: http://rubyforge.org/frs/download.php/75128/ruby-1.9.2-p290-i386-mingw32.7z
  1.9.3-p0: http://rubyforge.org/frs/download.php/75466/ruby-1.9.3-p0-i386-mingw32.7z
  1.9.3-p125: http://rubyforge.org/frs/download.php/75849/ruby-1.9.3-p125-i386-mingw32.7z
  1.9.3-p194: http://rubyforge.org/frs/download.php/76055/ruby-1.9.3-p194-i386-mingw32.7z
  1.9.3-p286: http://rubyforge.org/frs/download.php/76528/ruby-1.9.3-p286-i386-mingw32.7z
  1.9.3-p327: http://rubyforge.org/frs/download.php/76558/ruby-1.9.3-p327-i386-mingw32.7z
  1.9.3-p362: http://rubyforge.org/frs/download.php/76643/ruby-1.9.3-p362-i386-mingw32.7z
  1.9.3-p374: http://rubyforge.org/frs/download.php/76707/ruby-1.9.3-p374-i386-mingw32.7z

Enjoy your rubyist life.