Syntastic + Rubocop + Ruby2.1.2で上手く動かないので対処した
この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。
Ruby2.1.2で開発しているプロジェクトでSyntastic + Rubocopが上手く動かなかったので対処した。
Syntasticが構文解析に使っているgemのgithub.com/whitequark/parserはRubyのバージョンをチェックしていて、パッチレベルでの最新版以外では警告を出す。
$ rubocop -v warning: parser/current is loading parser/ruby21, which recognizes warning: 2.1.5-compliant syntax, but you are running 2.1.2. 0.29.1
警告が出るとSyntasticはRubocopをチェッカーから外してしまう。
ちなみに認識されているチェッカーは :SyntasticInfo
を実行すると確認できる。
対処法1
Rubyのバージョンを上げる。
parserのv2.2.0.3
ではRuby 2.1.xの場合2.1.5
だけが警告を出さない。
ref: https://github.com/whitequark/parser/blob/72401442432cb7ae1909b1f980b1dab3c4cad422/lib/parser/current.rb#L31
対処法2
parserとRubocopのバージョンを下げる。
Ruby: 2.1.2
parser: 2.2.0.pre.5
Rubocop: 0.26.1