LoginSignup
2
3

More than 3 years have passed since last update.

ridk use が機能しないので自力で rubies.yml を編集した話

Posted at

概要

RubyInstaller でインストールした Ruby のバージョンが ridk use で切り替えられないという問題を,インストールしてある Ruby の情報を手動で rubies.yml に書いて解決した.

詳細

私の端末には RubyInstaller によって Ruby 2.5.5 と Ruby 2.6.3 がインストールしてある.ridk use は,RubyInstaller 2.6.0-1 から実装されたバージョン切り替えのためのコマンドである.しかし,ridk use を実行しても

C:\Users\ユーザー名>ridk use
Select ruby version to enable:

となってしまう.本来ならば次のように表示されるはずである.

C:\Users\ユーザー名>ridk use
1 - C:/Ruby25-x64       ruby 2.5.5p157 (2019-03-15 revision 67260) [x64-mingw32]
2 - C:/Ruby26-x64       ruby 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32]
Select ruby version to enable:

また,ridk use list を実行しても何も表示されない.

C:\Users\ユーザー名>ridk use list

C:\Users\ユーザー名>

この問題の解決方法を模索した結果,RubyInstallerのridk useコマンドメモ (for Windows) によれば

ridk useコマンドは切り替え対象の Ruby のリストをレジストリから取得しますが、rubies.ymlがあればこのファイルを優先します。

とのことなので,rubies.yml を手動で編集することで解決を試みた.以下,その手順を述べる.

rubies.yml を作成する

ridk use update を実行して rubies.yml を作成する.いま,Ruby のバージョンは 2.6.3 になっているので C:/Ruby26-x64/ridk_use に作成される.

C:\Users\ユーザー名>ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32]

C:\Users\ユーザー名>ridk use update
Update C:/Ruby26-x64/ridk_use/rubies.yml

rubies.yml を編集する

適当なエディタで rubies.yml を開くと次のようになっている.Ruby のバージョンはひとつも認識されていない.

編集前のrubies.yml
--- []

これを次のように書き換える.もちろん,他のバージョンがインストールされている場合はそれも加える.

編集後のrubies.yml
---
- C:\Ruby25-x64
- C:\Ruby26-x64

ridk use を実行してみる

rubies.yml が編集できたので,再び ridk use を使ってみる.

C:\Users\ユーザー名>ridk use list
1 - C:/Ruby25-x64       ruby 2.5.5p157 (2019-03-15 revision 67260) [x64-mingw32]
2 - C:/Ruby26-x64       ruby 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32]

C:\Users\ユーザー名>ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32]

C:\Users\ユーザー名>ridk use
1 - C:/Ruby25-x64       ruby 2.5.5p157 (2019-03-15 revision 67260) [x64-mingw32]
2 - C:/Ruby26-x64       ruby 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32]
Select ruby version to enable: 1
Disable C:/Ruby26-x64
Enable C:/Ruby25-x64

C:\Users\ユーザー名>ruby -v
ruby 2.5.5p157 (2019-03-15 revision 67260) [x64-mingw32]

無事に Ruby のバージョンを切り替えることができた.

最後に

結局,ridk use がなぜ機能しなかったのかはわかっていない.レジストリには RubyInstaller の情報がちゃんと書き込まれているので,レジストリの情報を取りにいく段階で何かしらのエラーが起こっているのかもしれない.

参考

2
3
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
2
3