はじめに
説明
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.2 ダウンロードが始まったら、左下に進捗状況などが表示されます。完了するまで待機です。(当方の環境だと数秒程度)
1.3 ダウンロードが完了したら展開(解凍)します。「7-Zip」→「Extract files…(展開)」をクリックします。
1.4 「uru.exe」というファイルが出てきましたので、これを適当なフォルダに配置します。
1.5 当方の場合は、「C:\Ruby」の中に格納しました。余談ですが、Ruby のバージョンなどもここに管理しています。(この例だと、ruby3.1.2 / ruby3.1.3 )
1.6 アドレスバーをクリックし「cmd」と入力後、Enter です。
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つ注意点としては、一度でもプロンプトを閉じてしまうと、リセットされてしまうみたいなので、そこは気を付けましょう。(他にも注意点あれば是非コメントで教えて下さい。)
以上です。
ここまで見ていただき、ありがとうございました!