Ruby 2.1.3 だと Syntastic で rubocop が動かない

  • 8
    Like
  • 0
    Comment
More than 1 year has passed since last update.

いつの間にかシンタックスチェックがきいてなくてあせりました。

checker が有効になっているかどうかは ruby のファイルを開いて :SyntasticInfo とすればわかります。

rubocop が無効になるのは、以下のような警告が出るのが原因のようです。

$ rubocop --version
warning: parser/current is loading parser/ruby21, which recognizes
warning: 2.1.2-compliant syntax, but you are running 2.1.3.
0.26.1

しょうがないので、以下のようなファイルを ~/bin/rubocop に作り実行権限をつけてパスを通しました。

#!/bin/bash
~/.rbenv/versions/2.1.2/bin/rubocop $@

Syntastic の checker には、元々決まった名前しか書けないので注意です。例えば、上記のファイルを rubocop212 と名付けて let g:syntastic_ruby_checkers = ['rubocop212'] としても動きません。