🦔
miseでインストールしたrubyでgem installするとrtxが見つからないというエラーが出る
何が起こったか
miseはrtxの後継として開発されている、rubyやpython、あるいはghqみたいなツールのバージョンを管理できるツールである。serenaでsolargraphが必要になったのでインストールしようとしたところ下記のようなラーが出た。
$ gem install solargraph
** 中略 **
ERROR: While executing gem ... (Errno::ENOENT)
No such file or directory - rtx
/Users/USERNAME/.local/share/mise/plugins/ruby/rubygems-plugin/rubygems_plugin.rb:15:in 'Kernel#`'
** 後略 **
'<main>'
rtxが見つからない、というのでてっきりmiseのプラグインが古いのだろうかと思った。また、miseのpluginsディレクトリ以下のコードでエラーが出ていたので、miseの問題だろうと思って色々いじくり、mise関連のファイルを1度全部削除してみたり、rtxをmiseのエイリアスにしてみたりなどしたが解決しない。そもそもruby-buildとmiseのプラグインの関係性もよくわかっていなかった(し、今も雰囲気で使っている)。
解決方法
てっきりmiseの上で起こっている何かが原因だと思っていたのだが、ruby-buildをアップデートしたら解決した。正確にはmise関連の色々削除してしまったあとだったので、再インストールして最新を入れたことで解決したということになりそうだ。
$ brew upgrade ruby-build
多分miseのバージョンとruby-buildのバージョンか何かが変な噛み合い方をしたときこうなるらしく、ググっても何も出てこないしGPT-5に聞いても解決策は提示されなかったので、メモしておく。
今にして思うと、mise関連のファイルを全部消したあと mise install ruby@latest
を実行するとruby-buildが見つからない、というようになったので、実際にはmise関連のファイルをすべて消したのが良かっただけかもしれない。まぁ、ruby-buildの最新を入れて初めて解消したことは間違いないのだが。
rm -f ~/.local/bin/mise
rm -rf ~/.local/share/mise
rm -rf ~/.config/mise
rm -rf ~/.cache/mise
Discussion