2023年5月22日月曜日

SolargraphのRequired path patreon could not be resolvedはbundle配下だとほぼ確実に出てしまうので無視するといい

SolargraphのRequired path patreon could not be resolvedはbundle配下だとほぼ確実に出てしまうので無視するといい

概要

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 件のコメント:

コメントを投稿