Program LOG

勉強した内容をまとめ中。。。間違ってたら教えて。。。

Windowsでruby開発 - pikでrubyバージョン管理

前回に引き続き、Railsの開発環境構築をやっていこうと思います。
前回は、NetBeansの設定を行っていて、ホストマシンにRubyが無いとデバッグできないという事が判明。
そこで、Windowsに複数のバージョンを入れられないか調査を開始。


ここまでの流れは以下の記事を確認してください。
Windowsでruby開発 - 開発環境構築編 - Program LOG
Windowsでruby開発 - apache連携編 - Program LOG

pikとは?

Windows上で複数のRuby環境を管理するツールです。コマンドプロンプトより実行します。

Linuxで使ったrbenv的なツールですね!これを期待していました。

pikのインストール

pikのダウンロードはhttps://github.com/vertiginous/pik/downloadsから行う事ができます。
複数のバージョンがありますが、pik-X.X.X.msi(X.X.Xはバージョン番号)をダウンロードします
今回は「pik-0.2.8.msi」をダウンロードしました。
ダウンロードしたインストーラーを使用してインストールしていきます。
非常に簡単なため、割愛させていただきます。

コマンドプロンプトを起動してから以下のコマンドを入れると既存のバージョンを確認出来ます。

pik list

Adding: 193: ruby 1.9.3p194 (2012-04-20) [i386-mingw32]

Located at: C:\Ruby193\bin

193: ruby 1.9.3p194 (2012-04-20) [i386-mingw32]

新しい環境のインストール

まずはインストールが可能な一覧を取得してみます。
C:\Users\takumi-main>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.12: http://jruby.org.s3.amazonaws.com/downloads/1.7.12/jruby-bin-1.7.12.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 1.9.3-p385: http://rubyforge.org/frs/download.php/76753/ruby-1.9.3-p385-i386-mingw32.7z 1.9.3-p392: http://rubyforge.org/frs/download.php/76799/ruby-1.9.3-p392-i386-mingw32.7z 1.9.3-p429: http://rubyforge.org/frs/download.php/76953/ruby-1.9.3-p429-i386-mingw32.7z 2.0.0-p0: http://rubyforge.org/frs/download.php/76807/ruby-2.0.0-p0-i386-mingw32.7z 2.0.0-p195: http://rubyforge.org/frs/download.php/76957/ruby-2.0.0-p195-i386-mingw32.7z
最新版はありませんでしたが、現在のバージョンに一番近い2.0.0-p195をインストールしたいと思います。
$ pik install ruby 2.0.0-p195
$ pik ls -v
* 193: ruby 1.9.3p194 (2012-04-20) [i386-mingw32]
       path: C:\Ruby193\bin

  200: ruby 2.0.0p195 (2013-05-14) [i386-mingw32]
       path: C:...\.pik\rubies\Ruby-200-p195\bin
インストールが完了しましたので、使用するバージョンを設定したいと思います。
$ pik use 200

$ pik ls -v
  193: ruby 1.9.3p194 (2012-04-20) [i386-mingw32]
       path: C:\Ruby193\bin

* 200: ruby 2.0.0p195 (2013-05-14) [i386-mingw32]
       path: C:....pik\rubies\Ruby-200-p195\bin

$ruby -v
ruby 2.0.0p195 (2013-05-14) [i386-mingw32]
バージョンが最新版へ切り替わりました。 ひとまず入れてみましたが、NetBeansの動作を自動化するほどにはなれませんでした。 やはりWindowsの限界でしょうか。。。ふむ。 どうにか仮想環境へのリモートテストを自動化できないか、今後も調査していきたいと思います。

使用環境