BETA

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

投稿日:2020-04-08
最終更新:2020-05-27

※この記事は、Qiitaに投稿した記事を一部変更したものです。
https://qiita.com/drafts/bff9638117d61205a5ca


普段は最新の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 のとき)
    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" を先につける必要がある

call uru 246p354  

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

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

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

登録から削除する

古いバージョンのRubyを消すときにでも

  1. 削除したいバージョンの番号を調べる
    uru ls  
    • 出力
        245p335     : ruby 2.4.5p335 (2018-10-18 revision 65137) [x64-mingw32]  
        253p105     : ruby 2.5.3p105 (2018-10-18 revision 65156) [x64-mingw32]  
  2. 下記コマンドを実行(ここではRuby 2.4を削除)
    uru admin rm 245p335  
  3. 下記が表示される(削除していい?と聞いている)ので y を入力 -> [Enter]
    OK to deregister `ruby 2.4.5p335 (2018-10-18 revision 65137) [x64-mingw32]`? [Yn]  
  4. 登録が削除されたかチェック
    uru ls  
    • 出力(ruby2.4が消えている)
        253p105     : ruby 2.5.3p105 (2018-10-18 revision 65156) [x64-mingw32]  
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

ログには自分用とか下書き状態の記事を記載

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう