RubyistはWindowsに帰っておいで -Vagrantを使ったWindows開発環境-
Windowsマシンを組み立てたった!
自作PCなんて何年ぶりだ!? pic.twitter.com/AB3FStmPFR
— Yamamoto Kazuhisa (@kazuhisa1976) 2014, 6月 21
ASP.NETに興味が出てきたので久々にWindowsPCをアップグレードした。CPUはCore2QuadからCorei5(4590)に、OSはVistaからWindows8.1に変わった。特に大きなハマリも無くすんなりアップグレード完了。最近のマシンの起動は本当に速い。昔はBIOSでいろいろチェックしたのち立ち上がってたのに時代は変わったなぁ。
なぜRailsプログラマはMac OSを使うのか?
多くのRailsプログラマがなぜMacを使うか?それは「Unixのような環境」を使いたいためだと思う。HerokuやAWS Elastic BeanstalkのようなPaaSサービスが人気なのは確かだがデプロイされる先はUnix系OSであることに変わりはない。開発環境をデプロイ環境と揃えておくことは開発者としてごく自然の考えだし、デプロイ時のトラブルも少ない。もちろん私も4年以上MacでRails開発を行っている。
時代は変わった
本番環境と親和性の高いMacOSだが、最近は開発環境の複雑さによって環境を仮想化し、場合によって切り分ける動きが出てきた。
-
- PostgreSQL
- sidekiq.gem
- redis
プロジェクトB
- Mongoid.gem
- MongoDB
- Mongoid.gem
プロジェクトC
こんな状況で一台のMacに色々なアプリケーションをインストールして、プロジェクトに応じて起動したり停止したりするのはうんざりだ。今であれば普通にVagrantによる仮想環境で解決しようと思うはずだ。
ならWindowsでいいんじゃない?
はい。Windowsでいけちゃいます。
ポイントは次の通り。
Vagrantの共有ディレクトリは使わない
WindowsのファイルシステムをLinuxで使うのと、LinuxのファイルシステムをWindowsで使うのでは後者の方がオススメ。理由としては速度が速い事と、Rubyの組み込みライブラリであるFileクラスの動作不良*1が発生したため。
Sshfs Managerを使ってディレクトリを共有する
シェルはGit BashとConEmuを使う
https://code.google.com/p/conemu-maximus5/
多機能なコンソール。いい感じのフォントや色を設定しよう。
RubyMineはVagrant用の設定を使う
Ruby用IDEであるRubyMineを使うとGemの中のソースまでジャンプしてくれる。Railsのソースを読むのにとても便利だ。RubyMineはVagrantにも対応しておりVagrantfileを読み込ませることで、コードジャンプやIDEによるデバッグ実行が可能となる。
http://www.jetbrains.com/ruby/webhelp/configuring-remote-interpreters-via-virtual-boxes.html
Windows環境はできることが多い
私の場合、Windowsだと幸せが多い
DMMでダウンロードした動画(察して)
なんと、WindowsMediaPlayerとゆー、標準プレイヤーで観ることができる!先行き不安なSilverLightプレイヤーを使わなくていいのはありがたい。
RAW現像ソフトSilkypix Developer Studioの動作が爆速
「爆速」というか単純にMac版が遅すぎるって話なんだけどね...
ゲームができる
バナー広告でよく見かけるWorld of Tanksとかで遊べてしまう。
Visual Studioで.NETができる
あたりまえ。
IEで動作確認できる
まとめ
MacでVagrantを使って開発環境を切り替えつつRailsやってる人は、Windowsに戻ってきてもいいかもしれない。Windows8.1は表示もシンプルで動作も恐ろしく速く、OS自体のデキはMacOSと比較してとても良いと思う。この夏はぜひWindowsで視野を広げてみよう。
*1:File.exists("config/locales.")のような存在しないファイル/ディレクトリが存在することとして判断されてしまう