LoginSignup
13
13

More than 3 years have passed since last update.

Windowsで異なるバージョンのRubyを使う方法(uru)

Last updated at Posted at 2019-11-17

※この記事は https://kunosu.qrunch.io/entries/JPto4xqEhbOYGRgj に移動しました。


普段は最新のRubyを使っているけど、Ruby on Railsなど環境によっては古いバージョンを使い分けたいときに。

uruを導入する

uru の準備

  1. 使い分けたいバージョンのRubyをインストール
  2. uru をダウンロードページからDL
  3. DLされた uru-0.x.x-windows-x86.7z を解凍
  4. uru_rt.exeを適当なフォルダに移動
    • ここでは C:\Tools\uru に移動
  5. コマンドラインで uru を使うため、移動した先へのパスを通す
  6. コマンドラインで下記を実行

    $ uru_rt admin install
    ---> Installing uru into C:\Tools\uru
    
  7. 同じフォルダに uru.bat, uru.ps1 が生成されていることを確認

Rubyへのパスをuruに登録

  1. コマンドラインで下記を実行(Ruby2.4のパスを登録)

    # C:\Ruby24-x64\bin はRubyのDL先に合わせて変更
    $ uru admin add C:\Ruby24-x64\bin
    ---> Registered ruby at `C:\Ruby24-x64\bin` as `246p354`
    
  2. Ruby2.5も同様に登録

  3. 登録されたか確認

$ uru ls
246p354     : ruby 2.4.6p354 (2019-04-01 revision 67394) [x64-mingw32]
255p157     : ruby 2.5.5p157 (2019-03-15 revision 67260) [x64-mingw32]

uruを使ってみる

  1. 現在はパスを通してある Ruby2.5 が使える状態

    $ ruby -v
    ruby 2.5.5p157 (2019-03-15 revision 67260) [x64-mingw32]
    
  2. uru で Ruby2.4 に切り替え

    # "246p354" は "uru ls" で出てきた文字列
    $ uru 246p354
    ---> now using ruby 2.4.6-p354 tagged as `246p354`
    
  3. 以降はコマンドライン実行中なら Ruby2.4 になります

$ ruby -v
ruby 2.4.6p354 (2019-04-01 revision 67394) [x64-mingw32]

バッチファイルに記載

uru自体がバッチファイルのため、call を先につける必要があります

temp.bat
call uru 246p354

rem Ruby2.4で実行する
ruby temp.rb

.ruby-version ファイルでバージョン指定

  1. .ruby-version ファイルを作成
    • 普通にエクスプローラーで新規テキストファイルをリネームしようとすると「ファイル名を入力してください」と出てしまいます
    • これはテキストエディタで新規保存時に名前を指定すると回避できます
  2. .ruby-version ファイルには使いたいRubyバージョンのみを記載(Ruby2.4を使いたいとき)

    .ruby-version
    2.4
    
  3. auto オプションを使うと .ruby-version に記載したバージョンに変更されます

$ uru auto
---> now using ruby 2.4.6-p354 tagged as `246p354`
13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13