普段は最新のRubyを使っているけど、
Ruby on Railsなど環境によっては古いバージョンを使い分けたいときに。
- 環境
- windows10
- Ruby 2.6.3 2.7.3
- uru 0.8.5
- uru公式サイト: https://bitbucket.org/jonforums/uru/wiki/Home
uruを導入する
uru の準備
-
使い分けたいバージョンのRubyをインストール
- メインで使う方のバージョン(ここでは2.6)のみパスを通すと便利
- 先に2.7のパスを通していた場合は環境変数を編集
-
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:\Program Files\uru
に移動
- ここでは
-
コマンドラインで uru を使うため、移動した先へのパスを通す
-
コマンドラインで下記を実行
$ uru_rt admin install ---> Installing uru into C:\Program Files\uru
-
同じフォルダに uru.bat, uru.ps1 が生成されていることを確認
Rubyのパスをuruに登録
-
コマンドラインで下記を実行(Ruby2.6パスを登録)
# C:\Ruby24-x64\bin はRubyのDL先に合わせて変更 $ uru admin add C:\Ruby24-x64\bin ---> Registered ruby at `C:\Ruby24-x64\bin` as `263p62`
-
Ruby2.5も同様に登録
-
登録されたか確認
uru ls
263p62 : ruby 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32]
273p183 : ruby 2.7.3p183 (2021-04-05 revision 6847ee089d) [x64-mingw32]
uruを使ってみる
-
現在はパスを通してある Ruby2.7.3 が使える状態
$ ruby -v ruby 2.7.3p183 (2021-04-05 revision 6847ee089d) [x64-mingw32]
-
uru で Ruby2.6 に切り替え
# "263p62" は "uru ls" で出てきた文字列 $ uru 263p62 ---> now using ruby 2.6.3p62 tagged as `263p62`
-
以降はコマンドライン実行中なら Ruby2.6 になります
$ ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32]
.ruby-version ファイルでバージョン指定
-
.ruby-version ファイルを作成
- 普通にエクスプローラーで新規テキストファイルをリネームしようとすると「ファイル名を入力してください」と出てしまいます
- これはテキストエディタで新規保存時に名前を指定すると回避できます
-
.ruby-version ファイルには使いたいRubyバージョンのみを記載(Ruby2.6.3を使いたいとき)
.ruby-version
2.6.3
-
auto
オプションを使うと .ruby-version に記載したバージョンに変更されます
$ uru auto
---> now using ruby 2.6.3p62 tagged as `263p62`