1
0

VSCodeのRuby LSPが Gem::MissingSpecErrorで立ち上がらないエラーがでた備忘録

Last updated at Posted at 2024-09-05

エラー内容

/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を確認する方法は使えそう
  • 拡張機能がはいているエラーをちゃんと読む
1
0
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
1
0