6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

お題は不問!Qiita Engineer Festa 2023で記事投稿!

「uru」を使って簡単に Ruby の複数のバージョン切り替えを実現する方法

Last updated at Posted at 2023-06-15

はじめに

説明

uru は、インストールされた複数の Ruby のバージョンを管理出来るツールです。
Ruby には rvm ( Ruby Version Manager ) や rbenv といったツールがよく利用されるみたいなのですが、Windows の場合はサポートされておりません。
(若干話はそれますが、WSL 上に Ruby の環境を構築すれば理論上は出来る様な気がしますが、未検証です)

しかし、バージョンを切り替えたいという時も必ずあると思うので、今回は uru を使って Ruby の複数のバージョンを管理・切り替えしていきたいと思います。

尚、Ruby 自体のインストール方法は割愛しますので、ご不明の方は、以前書いたこちらの記事をご確認ください。
「1. Ruby の Install」から「2. SQLite3 の Install」まで出来れば一旦は問題ないです。

環境

  • Windows 11 home
  • Ruby 3.1.3
  • Ruby 3.1.2
  • uru-0.8.5-windows-x86

注意点
uru のダウンロードですが、圧縮形式が 7zip になっていますので、7Zipファイルを解凍出来るようにする必要があります。(不明の場合は以下の ”7-Zip公式のダウンロードページ” より事前にダウンロードをお願いします)

  • 公式サイト

  • インストール手順

手順

1. uru のインストール

1.1 uru のダウンロードページ から、対象の OS の下にあるリンクテキストをクリックし、ダウンロードします。
1.1.png

1.2 ダウンロードが始まったら、左下に進捗状況などが表示されます。完了するまで待機です。(当方の環境だと数秒程度)
1.2.png

1.3 ダウンロードが完了したら展開(解凍)します。「7-Zip」→「Extract files…(展開)」をクリックします。
1.3.png

1.4 「uru.exe」というファイルが出てきましたので、これを適当なフォルダに配置します。
1.4.png

1.5 当方の場合は、「C:\Ruby」の中に格納しました。余談ですが、Ruby のバージョンなどもここに管理しています。(この例だと、ruby3.1.2 / ruby3.1.3 )
1.5.png

1.6 アドレスバーをクリックし「cmd」と入力後、Enter です。
1.6.png

1.7 コマンドプロンプトが立ち上がり、プロンプトより「 C:\Ruby> 」であることを確認します。( uru_ry.exe を保存したディレクトリと同じ所)

コマンドプロンプト
Microsoft Windows [Version 10.0.22621.1702]
(c) Microsoft Corporation. All rights reserved.

C:\Ruby>

1.8 まず最初に uru のインストールをします。

  • コマンド
uru_rt admin install
  • 実行結果
コマンドプロンプト
C:\Ruby>uru_rt admin install
---> Installing uru into C:\Ruby>

C:\Ruby>

1.9 dir コマンドにて、「uru.bat」と「uru.ps1」が追加された事を確認出来れば成功です。

  • コマンド
dir
  • 実行結果
コマンドプロンプト
C:\Ruby>dir
 Volume in drive C is OS
 Volume Serial Number is 58B4-434E

 Directory of C:\Ruby

06/15/2023  11:48 PM    <DIR>          .
06/15/2023  10:54 PM    <DIR>          ruby3.1.2
06/15/2023  11:25 PM    <DIR>          ruby3.1.3
06/15/2023  10:40 PM               282 uru.bat
06/15/2023  10:40 PM               285 uru.ps1
03/10/2018  01:03 PM         1,878,016 uru_rt.exe
               3 File(s)      1,878,583 bytes
               3 Dir(s)  305,202,671,616 bytes free

C:\Ruby>

2. uru への事前登録とバージョン切り替え手順

2.1 最初に uru に Ruby の登録が必要ですので、「ruby3.1.2」と「ruby3.1.3」を uru に登録していきます。add の後は適宜ご自身の環境を確認していただき変更して下さい。

  • コマンド
構文:uru admin add <ファイルパス>/bin

実行コマンド:uru admin add C:/Ruby/ruby3.1.2/bin
実行コマンド:uru admin add C:/Ruby/ruby3.1.3/bin
  • 実行結果
コマンドプロンプト
C:\Ruby>uru admin add C:/Ruby/ruby3.1.2/bin
---> Registered ruby at `C:\Ruby\ruby3.1.2\bin` as `313p185`

C:\Ruby>
C:\Ruby>uru admin add C:/Ruby/ruby3.1.3/bin
---> Registered ruby at `C:\Ruby\ruby3.1.3\bin` as `312p20`

C:\Ruby>

「registered ruby at ●● as 英数字」と表示されれば成功です。ここで、表示される英数字はバージョン切り替え時に使う ID のようなものになります。

2.2 項番「2.1」で2つのバージョンを登録したので、問題なく出来ているか確認します。

  • コマンド
uru ls
  • 実行結果
コマンドプロンプト
C:\Ruby>uru ls
    312p20      : ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x64-mingw-ucrt]
    313p185     : ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x64-mingw-ucrt]

C:\Ruby>

2つ表示されていますね。ruby 3.1.2 の ID が 312p20、ruby 3.1.3 の ID が 313p185、となっています。

2.3 では、ruby 3.1.2 を使えるように切り替えていきます。

  • コマンド
構文:uru <ID>

実行コマンド:uru 312p20
  • 実行結果
コマンドプロンプト
C:\Ruby>uru 312p20
---> now using ruby 3.1.2-p20 tagged as `312p20`

C:\Ruby>

2.4 切り替えられたか確認します。

  • コマンド
uru ls
  • 実行結果
コマンドプロンプト
C:\Ruby>uru ls
 => 312p20      : ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x64-mingw-ucrt]
    313p185     : ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x64-mingw-ucrt]

C:\Ruby>

「 => 」というマークがつきましたね。これが現在選択されているバージョンという事です。

2.5 ruby --version にて、バージョンの確認をします。( 3.1.2 と表示されれば成功です)

  • コマンド
ruby --version
  • 実行結果
コマンドプロンプト
C:\Ruby>ruby --version
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x64-mingw-ucrt]

C:\Ruby>

ここでもちゃんと切り替わっている事が確認できますね。

2.6 uby 3.1.2 ( id : 312p20 ) から、ruby 3.1.3( id : 313p185 )へ切り替えてみます。

  • コマンド
構文:uru <ID>

実行コマンド:uru 313p185
  • 実行結果
コマンドプロンプト
C:\Ruby>uru 313p185
---> now using ruby 3.1.3-p185 tagged as `313p185`

C:\Ruby>

2.7 切り替えられたか確認します。

  • コマンド
uru ls
  • 実行結果
コマンドプロンプト
C:\Ruby>uru ls
    312p20      : ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x64-mingw-ucrt]
 => 313p185     : ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x64-mingw-ucrt]

C:\Ruby>

「 => 」というマークが、” 312p20 “ から “ 313p185 “ へ変わりましたね;。

2.8 ruby --version にて、バージョンの確認をします。( 3.1.3 と表示されれば成功です)

  • コマンド
ruby --version
  • 実行結果
コマンドプロンプト
C:\Ruby>ruby --version
ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x64-mingw-ucrt]

C:\Ruby>

ここでもちゃんと切り替わっている事が確認できますね。成功です。
これで、uru への登録や実際にバージョンの切り替えも問題なく出来るようになりました。

3. やった方が便利

uru に登録されている ID だと若干分かりにくかったので、この ID を自分が分かりやすいものに変更しましょう。

3.1 まずは、現在登録されている ID などを確認します。

  • コマンド
uru ls
  • 実行結果
コマンドプロンプト
C:\Ruby>uru ls
 => 312p20      : ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x64-mingw-ucrt]
    313p185     : ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x64-mingw-ucrt]

C:\Ruby>

3.2 以下の様に、現在の ID と新しい ID を入力して変更します。

  • コマンド
構文:uru admin retag <現在の ID > <新しい ID >

実行コマンド:uru admin retag 312p20 3.1.2
実行コマンド:uru admin retag 313p185 3.1.3
  • 実行結果
コマンドプロンプト
C:\Ruby>uru admin retag 312p20 3.1.2
---> retagged `312p20` to `3.1.2`

C:\Ruby>uru admin retag 313p185 3.1.3
---> retagged `313p185` to `3.1.3`

C:\Ruby>

3.3 ID が無事変わったか確認します。

  • コマンド
uru ls
  • 実行結果
コマンドプロンプト
C:\Ruby>uru ls
 => 3.1.2       : ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x64-mingw-ucrt]
    3.1.3       : ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x64-mingw-ucrt]

C:\Ruby>

2つとも ID が変わっている事が確認できましたので成功です。次からはこの ID を使ってバージョン切り替えが出来るようになります。

まとめ

お疲れ様でした!

今回は 「uru」を使って簡単に Ruby の複数のバージョン切り替えを実現する方法について、まとめてみました。
バージョン切り替えが非常に楽なので、これからも uru は使っていこうと思います。

1つ注意点としては、一度でもプロンプトを閉じてしまうと、リセットされてしまうみたいなので、そこは気を付けましょう。(他にも注意点あれば是非コメントで教えて下さい。)

以上です。
ここまで見ていただき、ありがとうございました!

6
5
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
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?