💎
Windowsで異なるバージョンのRubyを使う方法(uru)
※この記事は、Qiitaに投稿した記事を一部変更したものです。
普段は最新のRubyを使っているけど、Ruby on Railsなど環境によっては古いバージョンを使い分けたいときに。
- 環境
- Windows 10
- Ruby 2.5.5, 2.4.6
- uru 0.8.5
- uru公式サイト: https://bitbucket.org/jonforums/uru/wiki/Home
uruを導入する
uru の準備
- 使い分けたいバージョンのRubyをインストール
- メインで使う方のバージョン(ここでは2.5)のみパスを通すと便利
- 先に2.4のパスを通していた場合は環境変数を編集
-
uru をダウンロードページからDL
- DLリンク: https://bitbucket.org/jonforums/uru/wiki/Downloads
-
uru-0.x.x-windows-x86をクリック
- DLされた
uru-0.x.x-windows-x86.7zを解凍 - uru_rt.exeを適当なフォルダに移動
- ここでは
C:\Tools\uruに移動
- コマンドプロンプトで uru を使うため、移動した先へのパスを通す
- コマンドプロンプトで下記を実行
uru_rt admin install - 次が出力される
---> Installing uru into C:\Tools\uru - 同じフォルダに uru.bat, uru.ps1 が生成されていることを確認
Rubyへのパスをuruに登録
- コマンドプロンプトで下記を実行(Ruby2.4の実行パスが
C:\Ruby24-x64\binのとき)uru admin add C:\Ruby24-x64\bin - 次が出力される
---> Registered ruby at `C:\Ruby24-x64\bin` as `246p354` - Ruby2.5も同様に登録
- 登録されたか確認するため、下記を実行
uru ls - 次が出力されればOK
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で切り替えてみる
- 現在はパスを通してある Ruby2.5 が使える状態
C:\Tools\uru> ruby -v ruby 2.5.5p157 (2019-03-15 revision 67260) [x64-mingw32] - uru で Ruby2.4 に切り替える("246p354" は "uru ls" で出てきた文字列)
uru 246p354 - 次が出力される
---> now using ruby 2.4.6-p354 tagged as `246p354` - 以降はコマンドプロンプト実行中なら Ruby2.4 になる
C:\Tools\uru> 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 ファイルでバージョン指定する
- .ruby-version ファイルを作成
- 普通にエクスプローラーで新規テキストファイルをリネームしようとすると「ファイル名を入力してください」と出てしまう
これはテキストエディタで新規保存時に名前を指定すると回避できる
- 普通にエクスプローラーで新規テキストファイルをリネームしようとすると「ファイル名を入力してください」と出てしまう
- .ruby-version ファイルには使いたいRubyバージョンのみを記載(Ruby2.4を使いたいとき)
2.4 - "auto" コマンドを使うと .ruby-version に記載したバージョンに変更される
uru auto - 次が出力される
---> now using ruby 2.4.6-p354 tagged as `246p354`
登録から削除する
古いバージョンのRubyを消すときにでも
- 削除したいバージョンの番号を調べる
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] - 下記コマンドを実行(ここではRuby 2.4を削除)
uru admin rm 245p335 - 下記が表示される(削除していい?と聞いている)ので
yを入力 -> [Enter]OK to deregister `ruby 2.4.5p335 (2018-10-18 revision 65137) [x64-mingw32]`? [Yn] - 登録が削除されたかチェック
uru ls - 次が出力される(ruby2.4が消えている)
253p105 : ruby 2.5.3p105 (2018-10-18 revision 65156) [x64-mingw32]
Discussion