簡単快適Rubyの開発環境 for Windows PC
最近いろいろあって、Rubyをちょっと真面目にイジり始めましたが、
WindowsマシンでRubyの開発環境を構築するのは超めんどくさい事がわかりました
(JavaとかC#とかJavaScriptとかFlexとかPHPとかと比較してって意味です)
サーバー側(今回はCentOS5.6)をyumとかgemとかで簡単にセットアップしても、Windowsマシンの環境でバージョン合わせたりするのが結局大変(逆パターンも)
あと、Windowsだと動いてくれないライブラリとかあったりとかして悲しくなります
(俺が未熟で動かせられないだけかもしれないですが)
んで、
開発入る前の環境構築(=準備段階)でこんなストレス感じるのは良くないので、
(まぁ結構楽しかったりもするけど)
Windowsでもサーバに合わせた環境構築が簡単にできて、さらに超快適に開発できる環境構築する方法を考えました
この方法を使うと、
- サーバー側とまったく同じ手順で環境構築すれば良いので簡単で、もろもろバージョンの違いなどを気にする必要がありません
- あと、Gitとかも簡単に導入できます
- 複数の環境を完全に独立できます
- 他のプロジェクトの環境を壊す心配がありません
- 環境まるごとバックアップをとれるので躊躇無く環境設定できます
- 結構サクサク快適です
どんな環境か
サーバと同じ環境(今回は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をインストールすると全く支障は感じません
実際、普通にWin上のアプリを使っているのと同じ感覚で使えます、というか、ウインドウの中でウインドウ切り替えとかが、なんかより便利になった感すらあります
具体的な環境構築の流れ
VMはパフォーマンス重視で構築しました
1.仮想マシンを作成します
自分の場合はこんな感じにしました
ディスク容量 | 7GB | RAMディスクに載せるので少なめで。今のところ使用量は5GB程度でおさまっています |
---|---|---|
CPU | 2コア | BIOSでVT-dとかそのへんのヤツは有効にしておきます |
メモリ | 2GB | メモリに関してはそのままだとパフォーマンス悪いのでvmxファイルを少々イジる必要があります(これ重要)。詳細は後述 |
2.今回はサーバ環境がCentOS5.6(64bit)なので、まずVMPlayerにCentOS5.6(64bit)をインストールします
- 余計なパッケージは外してできる限り最小構成でインストールします
- CentOSで動いている不要なサービスを止めます(ここを参考にしました http://afexcel.seesaa.net/article/93682438.html)
- スワップ領域は無駄にRAMディスクを確保してしまうので、サイズは32MBにしてみました。今のところまったく支障なく動作しています。
4.VMWareToolsをインストールします
VMPlayerのメニューに、そういうことをするメニューがあります
5.開発環境をつくります
この辺からはそれぞれの好みになってきますが
6.【重要】色々設定
・VMPlayerのメモリをディスクに書き込まないようにする設定をします。これをやらないと遅い上に、貴重なRAMディスクを無駄に消費してしまいます
ここ(http://djlab.sakura.ne.jp/mydiary/?p=507)を参考に、vmxファイルを修正します
・日本語入力切り替えのショートカットを変更します
そのままだとRadRailsのコード補完機能のショートカットと、Linuxの日本語入力切り替えのショートカットと競合して、Aptanaのコードアシスト機能が上手く動いてくれませんでした
自分の場合は日本語入力切り替えの方のショートカットから、Ctrl+Spaceを外して、「半角/全角」だけにして解決しました
これでCtrl+Spaceでサクサクコードアシストしてくれるようになります
他なんだかんだ
ということで、
はやくマトモなRuby使いになりたい。です。