Ruby/Railsを学習・開発する環境としてのCygwin

2012/05/06

2012年のゴールデンウィークは、『改訂新版 基礎Ruby on Rails』でやり残したRails本番環境構築ガイドの作成を進めることにしました。

残すは「Cygwinのインストール」、「Capistrano」と「GitHubとの連携」です。

まず「Cygwin」から片付けることにしました。なぜ「Cygwin」かと言うと、『改訂新版 基礎Ruby on Rails』のメインの想定読者がWindowsユーザーで、Windowsの定番SSHクライアントPuTTYではCapistranoをうまく操れないからです。Mac OS Xユーザーの皆様も重要な読者ターゲットですが、Mac OS XではSSHが問題になることはありません。

…と5月6日の朝には書いたのですが、夜になるまでにMinGWのOpenSSHを使えばもっと楽であることが分かって、翌日には「Rails本番環境構築ガイド」を書き換えてしまいました。結論だけ言うと、RubyInstallerでインストールしたRubyを使う方がCygwin上でコンパイルしたRubyを使うよりもトラブルが少ないしパフォーマンスも高い、Cygwinでは rbenv が利用できるので複数のRubyを切り替えて開発するには便利かも、ということになります。少なくともRuby初学者の方があえてCygwinを導入する意義はあまりないように思えます。

今回は、本番環境構築ガイドを書く前に、Ruby on Rails 3.2 を Cygwin にインストールする手順をかなり丁寧に説明してみましたという記事を書きました。

Windows 7 をクリーンインストールして Cygwin をセットアップし、Ruby と Rails をインストールしてみたのですが、手順はとても簡単でした。CoffeeScript がらみで壁にぶつかりましたが。

その後で、Rails本番環境構築ガイドにCygwinのインストールを追加しました。


私がCygwinを使うのは久しぶりです。数年前までWindowsがメインだったので、大変お世話になったソフトウェアです。懐かしく感じると同時に、なかなか使えるという印象も持ちました。

単にLinuxが使いたいだけならVirtualBoxやVMwareなどでUbuntuやCent OSの仮想マシンをセットアップするという手もあるけれど、ホストOSとゲストOSの間を行ったり来たりするところが若干もどかしい気がします。CygwinのファイルシステムにはWindowsから直接アクセスできるので、ファイルの編集などはWindows側の好みのテキストエディタで行って、Railsアプリケーションを動かしたりCapistranoでデプロイしたりする時だけCygwin Terminalを開く、という使い方ができますね。

ただし、Railsアプリケーションの起動にかかる時間を比べてみると、やはりWindows上で実行した方が早いです。はっきりと分かるぐらいの違いです。


さて、こんな風に書くと「なぜMacを使わないの」とか「なぜUbuntuにしないの」とかのコメントが聞こえてきそうです。しかし、業務で使うOSを自由に選択できる人ばかりではないし、個人所有のPCだとしても買い換えたりOSを切り替えたりハードディスクのパーティションをいじったりするのは容易なことではないですよね。

Ruby/Railsを学習・開発する環境の選択肢としてCygwinを検討してみてはいかがでしょうか。

※ Rails本番環境構築ガイドの「Capistrano」は、もう少しお待ちください。

[追記] Capistranoによるデプロイ続・Capistranoによるデプロイとしてリリース済みです。(2012/05/07)