PowerShell 7 にて「ridk use」コマンドを使用し、Rubyバージョン2.7・3.1の切り替えを行っています。
しかし、3.1への切り替えが「undefined method `gsub' for nil:NilClass (NoMethodError)」のエラーになりますので、対処方法を知りたいです。
PowerShell
1PS C:\Users\username> ridk use 21 - C:/Ruby/Ruby27-x64 ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x64-mingw32] 32 - C:/Ruby/Ruby31-x64 ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x64-mingw-ucrt] 4Select ruby version to enable: 2 5Disable C:/Ruby/Ruby27-x64 6Disable C:/Ruby/Ruby31-x64 7Enable C:/Ruby/Ruby31-x64 8C:/Ruby/Ruby31-x64/ridk_use/ridk_use.rb:146:in `block in switch_ruby_per_cmd': undefined method `gsub' for nil:NilClass (NoMethodError) 9 from C:/Ruby/Ruby31-x64/ridk_use/ridk_use.rb:145:in `each' 10 from C:/Ruby/Ruby31-x64/ridk_use/ridk_use.rb:145:in `map' 11 from C:/Ruby/Ruby31-x64/ridk_use/ridk_use.rb:145:in `switch_ruby_per_cmd' 12 from C:/Ruby/Ruby31-x64/ridk_use/ridk_use.rb:215:in `block in run!' 13 from C:/Ruby/Ruby31-x64/ridk_use/ridk_use.rb:210:in `loop' 14 from C:/Ruby/Ruby31-x64/ridk_use/ridk_use.rb:210:in `run!' 15 from C:/Ruby/Ruby31-x64/ridk_use/ridk_use.rb:225:in `<main>'
■環境
OS: Windows11 64bit
PowerShell: 7
Ruby: 2.7.5・3.1.1
(RubyInstallerにてMSYS2と合わせてインストール)
■試したこと
・バージョン2.7→2.7、3.1→2.7への切り替えは正常終了する。
・バージョン3.1→3.1、2.7→3.1への切り替えは上記エラーになる。
・コマンドプロンプトでは、同じディレクトリ・コマンドで正常終了する。
こちらの記事が参考になるかご確認ください
https://ichigick.com/undefined-method-for-nil/
https://nanayaku.com/rails-nomethoderror-nilclass/
ありがとうございます。確認しましたが、修正できる箇所は見つかりませんでした。
(ridk_use.rbは私が作成したものではなく、Rubyに標準で入っているものかと思います。)
追加の問題切り分け内容を記載します。
・Windowsの環境設定にRubyバージョン切り替えツール「uru」の情報が残っていたため削除。
・「uru」の保存フォルダ(C:\Ruby\uru)を削除しても同様。
・以下URLを参考に「rubies.yml」を作成しても同様。
https://qiita.com/denkiuo604/items/5098f46cb37712f715c5
なお、Rubyバージョン2.7時点で「ridk use update」を実行するも、
「rubies.yml」は「3.1」の階層に保存された。
「rubies.yml」を「2.7」の階層にもコピー&ペーストしても同様。
あなたの回答
tips
プレビュー