簡単快適Rubyの開発環境 for Windows PC

最近いろいろあって、Rubyをちょっと真面目にイジり始めましたが、
WindowsマシンでRubyの開発環境を構築するのは超めんどくさい事がわかりました
JavaとかC#とかJavaScriptとかFlexとかPHPとかと比較してって意味です)


サーバー側(今回はCentOS5.6)をyumとかgemとかで簡単にセットアップしても、Windowsマシンの環境でバージョン合わせたりするのが結局大変(逆パターンも)


あと、Windowsだと動いてくれないライブラリとかあったりとかして悲しくなります
(俺が未熟で動かせられないだけかもしれないですが)

んで、

開発入る前の環境構築(=準備段階)でこんなストレス感じるのは良くないので、
(まぁ結構楽しかったりもするけど)
Windowsでもサーバに合わせた環境構築が簡単にできて、さらに超快適に開発できる環境構築する方法を考えました

この方法を使うと、

  • サーバー側とまったく同じ手順で環境構築すれば良いので簡単で、もろもろバージョンの違いなどを気にする必要がありません
    • あと、Gitとかも簡単に導入できます
  • 複数の環境を完全に独立できます
    • 他のプロジェクトの環境を壊す心配がありません
    • 環境まるごとバックアップをとれるので躊躇無く環境設定できます
  • 結構サクサク快適です
    • なんかIDENetBeansよりもAptana(RadRails)が相性良い(速い)みたいです
    • ディスクのアクセス速度はSSDの10倍ぐらいです


書き込みが、679MB/s 読み込みが3.3GB/s

どんな環境か

サーバと同じ環境(今回はCentOS5.6)のLinuxにデスクトップパッケージを追加したヤツを、VMPlayer上で動かします
(色々とチューニングはします)

つうか、VMPlayerなんかで開発すると重くね?

いえ、OSからまるごとRAMディスクに載せれば超快適です
今職場で使っているマシンスペックは、

CPU Core i5(GPU内臓) intelチップ不具合事件がなければi7だったのに…
メモリ 16GB メモリとか超安いし
SSD インテル80GB もはや常識SSD
HDD WDの500Gぐらい データ等の他、RAMディスクのイメージ保存先とか、ダウンロードフォルダ、Winのページファイル、TEMPフォルダにも利用

こんな微妙な感じですが、メモリは多めなので8GBをRAMディスクとして割り当てました

でも、VMPlayerだとWindows(ホスト)とマウス切り替えたりとか、他、いろいろ面倒くさくね?

いえ、VMWareToolsをインストールすると全く支障は感じません

  • ホストとゲスト間のマウスの移動やクリップボード共有など全くストレス無く行えます
  • VMPlayerのウィンドウの大きさを変更するとVMのデスクトップの大きさも自動で変わってくれます

実際、普通にWin上のアプリを使っているのと同じ感覚で使えます、というか、ウインドウの中でウインドウ切り替えとかが、なんかより便利になった感すらあります

具体的な環境構築の流れ

VMはパフォーマンス重視で構築しました

1.仮想マシンを作成します

自分の場合はこんな感じにしました

ディスク容量 7GB RAMディスクに載せるので少なめで。今のところ使用量は5GB程度でおさまっています
CPU 2コア BIOSでVT-dとかそのへんのヤツは有効にしておきます
メモリ 2GB メモリに関してはそのままだとパフォーマンス悪いのでvmxファイルを少々イジる必要があります(これ重要)。詳細は後述

仮想マシン作成時の設定で、フロッピー、USB、サウンドカード、プリンタ等の余計なものは削除します

2.今回はサーバ環境がCentOS5.6(64bit)なので、まずVMPlayerにCentOS5.6(64bit)をインストールします
  • 余計なパッケージは外してできる限り最小構成でインストールします
  • CentOSで動いている不要なサービスを止めます(ここを参考にしました http://afexcel.seesaa.net/article/93682438.html)
  • スワップ領域は無駄にRAMディスクを確保してしまうので、サイズは32MBにしてみました。今のところまったく支障なく動作しています。
3.デスクトップパッケージをインストールします
  • こんな感じであっさり入ったと思います >yum groupinstall "GNOME Desktop Environment"
4.VMWareToolsをインストールします

VMPlayerのメニューに、そういうことをするメニューがあります


ここまでで、デスクトップを起動しただけだと、だいたい200MB程度のメモリ消費になります

5.開発環境をつくります

この辺からはそれぞれの好みになってきますが

  • ビルドするためのパッケージインストール >yum groupinstall "Development Tools"
  • Ruby1.9.2インストール
  • Gemインストール
  • Rails3インストール
  • IDE(今回はRadRails)をインストール
  • 他必要なものがあれば随時インストール
6.【重要】色々設定

・VMPlayerのメモリをディスクに書き込まないようにする設定をします。これをやらないと遅い上に、貴重なRAMディスクを無駄に消費してしまいます
 ここ(http://djlab.sakura.ne.jp/mydiary/?p=507)を参考に、vmxファイルを修正します


・日本語入力切り替えのショートカットを変更します
 そのままだとRadRailsのコード補完機能のショートカットと、Linuxの日本語入力切り替えのショートカットと競合して、Aptanaのコードアシスト機能が上手く動いてくれませんでした
 自分の場合は日本語入力切り替えの方のショートカットから、Ctrl+Spaceを外して、「半角/全角」だけにして解決しました
 これでCtrl+Spaceでサクサクコードアシストしてくれるようになります

他なんだかんだ

  • なぜかわかりませんが、NetBeansだとかなり動作がもたつきます。Aptanaは快適です
  • Aptana3はRails3サポートしてるっぽいので入れてみましたが全然意味がわからず。まぁ、Linux環境なのでIDERailsサポートはなくても特に支障は感じません
  • VMUbuntuを使う場合は、デスクトップパッケージとしてLubuntu(LXDE)がお勧めです。超サクサク動きます
  • 自分の場合は常にVMLinuxを3個は起動していますが、上記のメモリチューニング等をすれば、RAMディスクを使ってないVMもかなり快適だったりします

ということで、

はやくマトモなRuby使いになりたい。です。