概要
Solargraph の reporters にはデフォルトで require_not_found が含まれています
require_not_found は require している gem がちゃんとプロジェクト内に存在してるかチェックしてる機能です
Solargraph で require_not_found を使っている場合に「Required path patreon could not be resolved.」というエラーが出る場合の対処方法を紹介します
原因
bundle 配下で gem を管理しているが Solargraph はグローバルにインストールしたコマンドを使っている場合にはほぼ確実に発生します
理由は bundle 配下にはちゃんと gem があるがグローバルにインストールした Solargraph だと bundle 配下の gem は管理外になるので対象の gem が見つからず require_not_found がエラーを吐いている状況です
対処方法1
solargraph を bundle 配下で動作させる方法で解決できます
設定方法はこちらで紹介しています
対処方法2
.solargraph.yml
から require_not_found を削除してしまいましょう
reporters:
- rubocop
おそらくこれが一番簡単です
上記でいい理由
Ruby の場合実行しないと結局わからないので実行することで gem がないかどうかは判別できます
また require した gem があるかどうかよりも require した gem がコード内で参照されているかをチェックしたいですが ruby や rubocop ではそれはできません
結局 require の部分に関しては自分で管理するしかないので require_not_found があってもなくてもそこまで変わらないかなと思います
0 件のコメント:
コメントを投稿