※この記事は https://kunosu.qrunch.io/entries/JPto4xqEhbOYGRgj に移動しました。
普段は最新のRubyを使っているけど、Ruby on Railsなど環境によっては古いバージョンを使い分けたいときに。
- 環境
- windows10
- 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 はRubyのDL先に合わせて変更
$ uru admin add C:\Ruby24-x64\bin
---> Registered ruby at C:\Ruby24-x64\bin
as 246p354
```
- Ruby2.5も同様に登録
- 登録されたか確認
$ 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を使ってみる
-
現在はパスを通してある Ruby2.5 が使える状態
$ 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 になります
$ 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を使いたいとき)
..ruby-version
2.4
```
-
auto
オプションを使うと .ruby-version に記載したバージョンに変更されます
$ uru auto
---> now using ruby 2.4.6-p354 tagged as `246p354`