マイペースなRailsおじさん

Ruby、Ruby on Rails、オブジェクト指向設計を主なテーマとして扱います。だんだん大きくなっていくRuby on Rails製プロダクトのメンテナンス性を損なわない方法を考えたり考えなかったりしている人のブログです。

Windows 11 + WSL2でRubyMineを動かす

Windows11をクリーンインストールしました。 WSL上で動くRubyMineのセットアップがとても簡単になっていたので紹介することにしました。 ほかの処理系のインストールを除けば、ほかのJetBrains系のIDEも同じ手順でできると思います。

なぜWSLでRubyMineを動かすのか

RubyWindows環境で動かすと、おもに共有ライブラリなどでトラブルになることが多いです。Linux環境であるWSLでRubyの処理系を動かせたほうが、様々なトラブルに引っかかる可能性がなくなります。引っかかったとしても、たいていStackOverflowに答えが書いてあります。

Rubyの処理系がWSL上で動けばいいのなら、Windows上で動くRubyMineからWSL上で動くRubyの処理系だけを操作する、という方法もあります。私はこの方法で開発をしていたことがあるのですが、Windows側とWSL側で同期をとる必要があったり、正しく同期をとるためにいくらかの設定を必要とするなど、たびたび悩まされることがありました。

そこで、RubyMineそのものをWSLで動かして、WindowsとはX Window Systemを通じたGUIのやり取りのみを行うことにして、これらのややこしい問題を回避することにしました。 私はWindows 10のころから、WSL2とVcXsrvを利用してこの環境を作っていました。それまではいろいろと厄介なことになっていたWindows上での開発ですが、この環境にしてからエラーに見舞われることが少なくなりました。(X上での日本語の設定とかでたまに困ったりはした)

動作環境

Windows 11

やっていき

1 Microsoft StoreからWindows Subsystem for Linux Previewをインストールする https://aka.ms/wslstorepage

この時点でWSLgというX Window Systemが使えるようになる。すごい。

2 Microsoft StoreからUbuntuをインストールする https://aka.ms/wslstore

3 Ubuntuをセットアップする 起動すると最初のユーザーを作ることになるので、プロンプトの表示に従って進める。

4 WSLにRubyMineをダウンロードする 下記ページの"direct link"のリンクのアドレスをコピーする。 https://www.jetbrains.com/ruby/download/download-thanks.html?platform=linux

ダウンロードして解凍する

wget -O rubymine.tar.gz '[リンクのアドレス]'
tar -xavzf rubymine.tar.gz
sudo mv RubyMine-2021.2.3 /usr/local/share
sudo ln -s /usr/local/share/RubyMine-2021.2.3/bin/rubymine.sh /usr/local/bin/rubymine

5 アクティベーションコードを入手する JetBrainsのアカウントページでDownload activation code for offline usageを押す https://account.jetbrains.com/licenses

6 起動してアクティベーションする rubymineを起動。

rubymine

Activation Codeのラジオボタンを選んで、5で入手したアクティベーションコードを入力する

7 日本語を使えるようにする

Win11のWSL2 (WSLg)を日本語化 & Mozcで日本語入力 | AsTechLog

8 RubyMineのUIに使うフォントを変更する なんかジャギジャギしたフォントになっているので、お好みのフォントに変更します。

f:id:ytnk531:20211122132648p:plain

9 Windowsからショートカットを作る あったほうが便利

リンク先を下記に設定したショートカットを作る。 C:\Windows\System32\wsl.exe --distribution Ubuntu rubymine

結果

ということでこんな感じになりました。

f:id:ytnk531:20211122132752p:plain