Ruby
RubyMine

RubyMineで参照するRubyのバージョンをrbenvのRubyに変更する

迫り来る赤線地獄

MacのRubyのバージョンとDocker内のRubyのバージョンが異なり、
RubyMineがエラー地獄になっていたため、バージョンを同期しようと思いました。

ちなみにRubyのバージョンはMacが2.0.0、コンテナが2.3.1でだったので、
ぼっち演算子が特にひどかった・・・。

RubyMineはすでに導入されているものとして書きます。

rbenvの導入

まずはrbenvを入れます。
すでに導入済みの人はぶっ飛ばしましょう。
こちらのサイトを上から順に見ていけば簡単に導入できます。
http://dev.classmethod.jp/server-side/language/build-ruby-environment-by-rbenv/

今回は2.3.1に設定したかったので、リンク先の手順通り進めたのち、
2.3.1globalに設定しました。

$ ruby -vで自分が設定したrubyのバージョンになっていればOKです。

RubyMineで参照するRubyを設定

まずは、rubyがどこを参照しているのか確認しておきます。
$ which ruby

どこを参照しているのか確認ができたら、
RubyMineのPreferencesを開き、
Languages & Frameworks -> Ruby SDK and Gemsの中に先ほど参照した場所を追加・・・

あれ・・・

できない・・・

追加しようとして、+ボタンを押すと、Finderが開くのですが、Finderでは隠しディレクトリを表示してくれない。

なので、whichコマンドで確認した場所が隠しディレクトリ内にあると指定できない。

シンボリックリンクで代用

仕方が無いので、隠しディレクトリ内を参照するシンボリックリンクを作成
$ ln -s ruby (whichコマンドで確認したパス)

そちらの場所を追加するようにしたところ・・・

できた!!

(シンボリックリンクなんて使わなくても直接指定できるやり方知っている方ぜひご教授願います!)

@scivola さんにRubyMineはrbenv~/.rbenvにあると仮定していることを教えていただいたので、試しにRubyMineを再起動したところ、rbenvのバージョンが選べるようになりました。なのでシンボリックリンクを作る必要はありません。情報提供ありがとうございます。

まとめ

今回はRubyMineで参照するRubyのバージョンを変更してみました。
これでとりあえず赤線地獄からは解放された!

それではまた。