Webuilder240

RubyエンジニアがWindowsでの開発環境について書いてみた

2020-07-26 23:24:44 +0900

Windows WSL2 Ruby
最近は前の記事にあるとおり、プライベートのWebアプリケーションの開発環境をWindowsにエイヤっと移行してしまって、快適に開発できているので、そのあたりの感想を簡単にまとめておこうかと思っています。

WSL2でほぼ不便しない

当たり前のようにWSL2を使っていて(まだUbuntu18.04)普通に使えています。
これまでWindowsでRubyを使ってプログラミングだったり、Ruby on Railsで開発をするときに専用のツール群が必要だったりしたわけですが、そういったものをもうインストールする必要はありません。WSL2上にRubyの開発環境を構築するのはUbuntu上に構築するのと何ら変わりません。

正直不便なのはSystemdが起動時に動かないことで、WSL2を起動したときに毎回起動するシェルスクリプトを作っていて手動で起動すればサービス自体は起動するので、ちょっと面倒なくらいです。これも改善すればいいなぁ。

VirtualBoxとの併用はできない(VirtualBoxのバージョンアップにより解消)

VirtualBox 6.1.16からHyper-VとVirtualBoxの共存ができるようになったみたいです。やったね!!!
https://slides.com/hiroyuki_onaka/gbdaitokai-development-by-win2#/28

以下は昔の情報としてご参照ください。
---
会社用途ではこのことが大きい影響を与えるかと思いますが、そこはあくまでもプライベート利用なので、不便なのは不便ですが、別にDockerはWSL2から普通に使っているし、僕の用途では困ることはほとんどありません。
IPの固定が面倒なものの、代替としてHyper-Vが使えるので、どうしてもVirtualBoxを使わないと仕事にならない、開発にならない人はまだWSL2を使わないことをお勧めします。

WSL2を使わない人のおすすめ開発環境

デスクトップPC前提ということであれば、VirtualBox(なんか仮想環境)上に開発環境を構築しておき、定期的にスナップショットを取っておくみたいな運用がお勧めなのかなぁと思っています。
ノートPCではヘビーに仮想環境を使えないことが多いので、素直にWSL2を使うほうがいいと思います。

WSL2のRubyを書くエディタはVSCodeのほぼ一択

プライベートでも会社と同じようにRubyやRuby on Railsのアプリケーションコードを書いてよく遊んだりしています。
Rubymineの補完だったり周辺機能が大変気に入っていて、会社のMac環境ではRubymineを使っているのですが、WSL2からRubymineでRSpecのテストケースを実行するととにかく遅いという問題があるので、無理してRubymineは使わなくてもいいのかなという感じです。

WSL2との行き来がしやすいエディタはVSCodeのほぼ一択なのが現状で、ずっと使っています。本当にほぼ意識しない感じで使えています。
もうちょっとRubymineでもRSpecの実行が速くなれば、(Windowsから呼び出している気がするので、WSL2側から呼び出せると早くはなりそう。)Rubymineでやっていけそうな感じはするので、今後のアップデートに期待したいところです。

お手軽なUNIX互換環境というかLinuxそのもの...?

あんまりヘビーに使うこともないからでしょうが、
WSL2独特の問題もほぼなくて、むしろMacだから発生していた問題がなくなって快適に開発できています。特にWebエンジニアにMacが多かった理由として、「お手軽なUNIX互換環境」だったということはありますが、その長所はもはやなくなったといって過言ではないと考えています。

これまでMacはWindowsに比べると高く感じることが多かったので、
WSL2でLinuxそのものを手に入れることができたWindowsは開発者に対してのシェアを広げるのではないか?と思っていて、Windowsユーザーが増えるのではないかなぁと思っています。

ちなみにLinuxそのものをメインのOSとして使用するつもりは、画面解像度周りの挙動が怪しそうだったりで、デスクトップPCについてはゲーム(主にマインクラフト)がしたいなどの理由から、まだありません...

最後に

せとあずさんが公開しているスライドがもうちょっと技術よりな面で解説しており、
もっと詳しく知りたい!!という方はこちらをご参照ください。

関連しそうなブログ