Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

迫り来る赤線地獄

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のバージョンを変更してみました。
これでとりあえず赤線地獄からは解放された!

それではまた。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした