Solargraphをgem install
しているにもかかわらず、vscodeの拡張機能であるRuby Solargraph
が以下のようなエラーを表示することがあります。
わたしの環境では、拡張機能側がSolargraphを探せていないことがこの原因でした。 拡張機能Ruby Solargraphは項目Command Path
の設定値をもとにSolargraph Gemを探し、そのデフォルト値はsolargraph
となっています。
そこでおもむろに以下のようなコマンドを打ち込んでみると、確かにsolargraph
が見つかりませんでした。繰り返すようにSolargraphはgem install
済みです、gem install
時にsolarpath
コマンドのPATH
が通るはずですが、何らかの事情で通らなかったのでしょう。
$ solargraph help
-bash: solargraph: command not found
-
solargraph
の実体を探して、PATH
を通す -
solargraph
の実体を探して、そのフルパスをCommand Path
に設定する。
この問題の解消法としては以上の2つが思いつきますが、今回、わたしは2を選択しました。まずはgem env
コマンドでsolargraph
コマンドが設置されているディレクトリを探します。
$ gem env | grep "EXECUTABLE DIRECTORY"
- EXECUTABLE DIRECTORY: /usr/local/lib/ruby/gems/2.6.0/bin
つまり/usr/local/lib/ruby/gems/2.6.0/bin/solargraph
が目的のコマンドになるはずなので、それを以下の通りに確認します。
$ /usr/local/lib/ruby/gems/2.6.0/bin/solargraph help
Commands:
solargraph --version, -v # Print the version
solargraph available-cores # List available documentation versions
solargraph clear-cores # Clear the cached core documentation
solargraph config [DIRECTORY] # Create or overwrite a default configuration file
solargraph download-core [VERSION] # Download core documentation
solargraph help [COMMAND] # Describe available commands or one specific command
solargraph list-cores # List the local documentation versions
solargraph reporters # Get a list of diagnostics reporters
solargraph socket # Run a Solargraph socket server
solargraph stdio # Run a Solargraph stdio server
あとは以下のようにCommand Path
にsolargraph
のフルパスを指定してやるだけで、ポップアップは表示されなくなり、拡張機能が正しく稼働するようになるはず。