@makimoto__

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

rubocopが参照しているymlファイルの場所を知りたい

Q&A

Closed

解決したいこと

現在rubyを学習中で、その修正にrubocopを使用しています。
rubocopが参照しているymlの場所を知りたいです。

発生している問題・エラー

E: Lint/Syntax: unexpected token kEND
Using Ruby 2.6 parser; configure using TargetRubyVersion parameter, under AllCops

自分で試したこと

上記のエラーが出たため、修正していたファイルと同じディレクトリに入っていたymlの中をTargetRubyVersion: 3.0に修正したのですが、同じエラーが出ています。

その上のディレクトリにymlファイルを移してみたのですが、同じエラーが出ています。

この場合、rubocopの参照しているymlが別にあると思うのですが、どこにあるのかがわかりません。
こういった場合はどのように探せば良いのでしょうか?

0 likes

2Answer

rubocop コマンドに --debug オプションを渡すと読み込んだ設定ファイルのパスをすべて表示できます。

% rubocop --debug /dev/null
For /my_app: configuration from /my_app/.rubocop.yml
Inheriting configuration from /my_app/rubocop_base.yml
configuration from /Users/user/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0/gems/rubocop-rails-2.15.2/config/default.yml
(略)

もし設定ファイルに TargetRubyVersion が指定されていなければ、その他の特定のファイルからバージョン指定を探し、それもなければデフォルトで何かしらのバージョンが選択されます。

Otherwise, RuboCop will then check your project for a series of files where the version may be specified already. The files that will be looked for are .ruby-version, Gemfile.lock, and *.gemspec. If Gemspec file has an array for required_ruby_version, the lowest version will be used. If none of the files are found a default version value will be used.

3Like

Comments

  1. @makimoto__

    Questioner

    ご回答ありがとうございます。

    教えて頂いた通りrubocop --debug /dev/nullを実行し、
    実行結果の「Inheriting configuration from〜」にあるrubocop.ymlを開くと、TargetRubyVersion:2.6になっていたためそれを3.0.2に変更したところエラーが出なくなりました。

    rubocopのオプションは-aぐらいしか使ったことがなく、読み込んだ設定ファイルのパスのわかるオプションがあることを思いつかず、調べていませんでした。

    今回は本当にありがとうございました。

RuboCopの設定ファイルは通常、
プロジェクトディレクトリの直下に
.rubocop.ymlという名称で存在します。

古い情報で恐縮ですが、
こちらは確認されましたか?

もし開発にVSCodeを使用しているのなら
Ctrl+p押下でファイル検索をできるので
rubocopで検索してみてください。

1Like

Comments

  1. @makimoto__

    Questioner

    ご回答ありがとうございます。

    リンクを貼っていただいたページを見ながらrubocop.ymlの内容を修正したのですが、
    エラーが消えなかったため質問させて頂いておりました。

    該当の.rubocop.yml自体はuasiさんの回答の手順で見つけたのですが、
    そのあとにsyutorum001さんがご回答くださったCtrl+pでrubocopで検索したところ
    複数の.rubocop.ymlという名称のファイルが出てきたのですが、その中のひとつが該当の.rubocop.ymlでした。

    VSCodeの検索もあまり使ったことがなかったので、今後は使っていきたいと思います。

    今回はご回答いただきありがとうございました。

Your answer might help someone💌