RubyMine + WSL: Remote の rbenv で使っている Gem を読み込ませる


はじめに

記事作成に至るまで

RubyMine + WSL で Ruby on Rails 開発をしようとしていたところ、RubyMine にて次のようなエラーが発生しました。

「RubyMine Gem Manager: RubyMine has detected that some of the gems required for 'プロジェクト名' are not installed」と書いてあります。
どうやら WSL に rbenv でインストールした Gem を読み込ませることに失敗しているようでした。

原因

Ruby インストール時に rbenv を用いた場合、RubyMine の「リモートRubyインタープリターの構成」においてインストールパスを修正する必要があるようです。

私は公式ヘルプの『リモートインタプリタの設定』をそのまま実行し、結果として前述のエラーが発生しました。

Remote の rbenv で使っている Gem を読み込ませる

ここから本題(設定方法)です。

「リモートRubyインタープリターの構成」 を開く

※プロジェクト作成前の場合

※プロジェクト画面の場合

ここからは共通

すると、「リモートRubyインタープリターの構成」ウィンドウが開く。

インタープリターの追加

  1. WSLのラジオボタンを選択
  2. Linux Distribution で Ubuntuを選択
  3. パスを変更する(後述)

パスの変更

③のパスに、自分の環境での Ruby インストールパスを入力する必要があります。

インストールした Ruby のパスを確認するため、WSL の bash 上で以下のコマンドを実行します。

実行するコマンド
$ which ruby
表示される値(人それぞれ)
/root/.rbenv/shims/ruby

取得した値を先程の「Ruby インタープリター・パス」に入力するのですが、このままではエラーになります。
どうやら shims というディレクトリが実際には存在しないためだそうです。

ですので、shims の箇所を正しいパスに修正し、「Ruby インタープリター・パス」に入力します。

/root/.rbenv/shims/ruby
/root/.rbenv/versions/2.5.1/bin/ruby

※「versions/〇〇」の箇所には、インストールした Ruby のバージョン番号を入力してください。

「ruby2.5.1p57」→「2.5.1」がバージョン
$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

追加したインタープリターの適用

以上の操作で、Remote の rbenv で使っている Gem を読み込ませることが出来ます。

参考文献