SublimeTextでLinterが使うrubyのバージョンを変更する話
最近はもっぱらRubyMineを使っていてSublime Textを起動しなくなりましたが、やはりフットワークの軽さは圧倒的にSublime Textだなぁと感じている私です。
(エディタ論争をするつもりはないですので大目に見てください m( )m)
Sublime TextではSublimeLinterを使っているのですが、Linterが利用するRubyのバージョンが古くて新しい文法を認めてくれないことが多々あります。
たとえばこんなの↓
これはRuby 2.3で導入された safe navigation operator
ですね。Railsの .try(sym)
のように使える優れものです。
SublimeLinterで使用しているRubyのバージョンが古いため、このような構文エラーが発生します。 コレを解決するには、SublimeLinterが使用するRubyを明示的に指定してやる必要があります。
前提
方法
まず、 Sublime Text
-> Preferences
-> Package Settings
-> SublimeLinter
-> Settings - User
から設定ファイルを開きます。
Rubyのパスとバージョンを確認しておきます。今回はrbenvでRubyをインストールしたので、 ~/.rbenv/shims
にrubyがあります。
[youk@youk-mbp13r]% which ruby /Users/youk/.rbenv/shims/ruby [youk@youk-mbp13r]% ruby -v ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
次に、以下のように paths
に Rubyのパスを書いて保存します。
すでにこのファイルになにか書いてある場合は、pathsの部分だけ変更するようにしてください。
{ "user": { "paths": { "linux": [], "osx": ["~/.rbenv/shims"], "windows": [] } } }
SublimeTextを再起動すると、文句言われなくなっているハズ。