Atomでrubocopを使おうとした際にエラーが発生したので解決法とともに共有します。
したこと
gem install rubocop
- Atomのパッケージの
Linter
とlinter-rubocop
をインストール
エラー内容
ここでエラーが発生しました。
Atomでのエラー内容
[Linter] Error running RuboCop Error: Failed to spawn command `/Users/home/shims/rubocop`. Make sure `/Users/home/shims/rubocop` is installed and on your PATH
at /Users/home/.atom/packages/linter-rubocop/node_modules/atom-linter/lib/helpers.js:130:24
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
rubocop
自体に問題があるのか確認するためにコマンドラインから rubocop
を動作させると、
$ rubocop app.rb
rbenv: rubocop: command not found
The `rubocop' command exists in these Ruby versions:
2.4.1
このようなエラーが発生したので上手く rubocop
が動いていなことを確認。
修正方法
.rbenv
ディレクトリが私の場合はhomeディレクトリにあったので、そこの ~/.rbenv/bin/
に入っているrubocopを使用します。
~/.rbenv/versions/2.4.1/bin/rubocop app.rb
で正しく動作しました。 (2.4.1の所は上記でエラーが出たversionに合わせる)
この方法で動作することが確認できたら、Atom側のrubocopも修正を行います。設定 → Package
から linter-rubocop
を検索します。検索するとSettingsのCommandという所があるのでそこを書き換えます。Defaultだと rubocop になっているはずです。
そこに上記の ~/.rbenv/versions/2.4.1/bin/rubocop
を書いてあげれば無事動作しました。