エラー内容
/Users/user/.rbenv/versions/3.3.4/lib/ruby/3.3.0/rubygems/dependency.rb:301:
in `to_specs': Could not find 'sorbet-runtime' (>= 0.5.10782) among 210 total gem(s)
(Gem::MissingSpecError)
Checked in'GEM_PATH=/Users/user/.gem/ruby/3.3.0:/Users/user/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0',
execute `gem env` for more information
Error starting the server:
Pending response rejected since connection got disposed
読んで欲しい人
- Ruby LSPで上記に似たエラーが出た人
- 過去の俺
問題発生までの経緯
- rbenvで最新Rubyバージョンをインストール:3.3.0→3.3.4
- 最新Railsのバージョンをインストール:7.1.2→7.2.1
- 新しいプロジェクトを立ち上げようとしたらLSPが動かない
原因
- dependency.rbファイル内の
to_specs
を呼び出した時に、RubyGemsがsorbet-runtime
というGemを見つけられなかった
dependency.rb
- RubyGemsがGemファイルや依存関係を扱う際に使用するクラスとメソッドを定義しているファイル
解決した経緯
-
Checkedin'GEM_PATH=/Users/user/.gem/ruby/3.3.0:/Users/user/.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0'
というエラーを確認する -
.rbenv/versions/3.3.4/lib/ruby/gems/3.3.0'
を確認しに行った -
sorbet-runtime
を探したが、ない -
gem install sorbet-runtime
を実行 - LSPが立ち上がる
学び
- rbenvで管理しているRubyはバージョンごとにgemを管理していると知れた
- VSCodeに出てくるエラーは無視しないで確認した方が良い
- 別バージョンになっても、実際にgemを確認する方法は使えそう
- 拡張機能がはいているエラーをちゃんと読む