AtomでRubocopが正常に動かない場合の対処法

eyecatch

300m走ったらバテバテになったmizkyです。

Rubyを頻繁に使用するので、AtomにRubocopを導入しようとしたのですが

全然うまくいかねえ\(^o^)/状態だったので

その時につまずいた点や解決方法を、自分が行った手順に沿って記載します。

mizky
mizky

解決に繋がれば幸いです。

1. 修正前の状態

これで動くやろ!と自分が勝手に思い込んでいたときの状態です。

①Rubocop自体はインストールしている

②Atomに以下のパッケージをインストールしている

  • linter
  • linter-rubocop
  • linter-ui-default

そして、その時のAtomの状態が以下の画像です。

linterが何も表示されてねえ・・・

2. 一度AtomでRubocopを使用してみる

Atomのウィンドウ上で右クリックをすると

Fix file with Rubocopという表記があるので、クリックするとRubocopを動かすことができます。

以下の画像が、実際に動かしたときの結果です。

> Rubocop: Parse error

> んじゃらなんじゃらほいほい

文字化け状態\(^o^)/オワタ

エラーが発生しているのにエラー文すら読めない状況です。

3. 文字化けを修正する

私の場合は、linter-rubocopのSettingのパスを正しく記載することで文字化けを解消することができました。

赤枠に正しいパスを入力します。

パスは

で確認できます。

私の場合は、Settingのパスを入力する際にセミコロンを忘れていました。

4. cannot load such fileを解決する

文字化けを直してエラーコードを見てみると

cannot load such file

と表示されていました。

どうやら、Rubocopを使用するためには

  • rubocop-performance
  • rubocop-rails

以上の2つをインストールしなければいけないようです。

コマンドは以下の通りです。

これで文字化けが解消されました。

5. 常にlinter-rubocopが表示されない

そもそも右クリックからRubocopを作動させなくても結果が表示されるはずなのですが・・・

と思って、AtomのPackagesを見直していたら

linter-ui-defaultが機能していませんでした\(^o^)/

Enableをクリックすれば起動します。

気づかないうちに、Disableにしていたようです。

無事に表示されるようになりました。

(上記の画像は、endが1つ多くしてエラーを故意に発生させています。)

6. まとめ

以上、Rubocop導入でつまずいた点でした。

linterはソースコード上のミスや修正推奨箇所を自動で指摘してくれるので、非常に助かります。

Rubyだけでなく、PythonやCSSなどもあるようなので導入することをお勧めします。

コメント

タイトルとURLをコピーしました