ユカシカド エンジニアブログ

体の栄養状態を把握する検査サービス VitaNoteを開発するエンジニアのブログ

Rumix2を使ってWindows8でRailsを動かす方法

Windows使用のデザイナーさんとの協働

ECサイト構築を現在進めておりますが、テンプレート制作はデザイナーさんに依頼しています。ありがたいことに(本当に!)開発環境の整備に対して理解のあるデザイナーさんなのでGitを覚えてもらって作業を進めています。
しかし、デザイナーさんの使用PCがWindowsなのでRailsアプリケーション、と言ってもSpreeのことなのですがプレビューに苦労しています。
かつて自分も少し昔に苦労した覚えがあるのですが、このようなケースではどのような対処が一般的なのでしょうかね。
とりあえずVirtualBoxLinux(Lubuntu)を入れてプレビューするようにしてもらったのですが、思ってた以上に不便です。

ということで、今日たまたまこんな記事を見つけたので、

「Ruby」環境のセットアップツール「Rumix」の次期バージョン「Rumix 2」がベータ公開

もしや、最近は簡単になったのかもと期待して試してみました。先に結論を書くと、完全に動きました。

動作確認環境

Windows8 Pro 64bit

Windows側の準備

1.Rubyをインストー

  1. Rumix2(β)をダウンロードする

    http://sourceforge.jp/projects/rumix/

    から最新の'rumix2-b01.zip'をダウンロード

  2. フルオプションでインストー

  3. コマンドライン端末 を開く"をクリックして特製コマンドプロンプトを起動
  4. RubyGemsを最新にする

    gem update –system

2.Gitをインストー

  1. Git for Windows(CUIツール)をダウンロード

    http://git-scm.com/downloadsからWindowsをクリック。

  2. オプションはほとんどそのままでGit Bashを使えるようにしてインストー

ここからはRumixのコンソールは閉じて、Git Bashを使用する。(どちらでもいいと思います)

3.Node.js

Railsサーバを起動してアクセスしてみると、 ExecJS::RuntimeError が発生します。
解決方法としてはgem execjsのコードをいじるか、Node.jsをインストールするか、だそうなのですが今回の場合は前者はうまくいかなかったのでNode.jsをインストールします。

  1. Windowsインストーラーをダウンロードしてそのままインストール。

    http://nodejs.org/download/

  2. コントロールパネル > システム > 設定変更、システムのプロパティの詳細設定 > 環境変数からPATHに追加

    C:\Program Files (x86)\nodejs;

Railsアプリ側の調整

Gemfile

ここまでやってもWindowsへ素直にインストールできないgemがあるので:platformsオプションでWindowsでのプレビューに不要・必要なgemを調整します。

gem 'therubyracer', platforms: :ruby
gem 'execjs', platforms: :mingw
gem 'mysql2', platforms: :ruby
gem 'puma', platforms: :ruby

参考: http://bundler.io/v1.3/man/gemfile.5.html

今回対象のアプリケーションではこれだけでいけました。 リポジトリを最新にして、Windows側からクローンして

bundle install
bundle exec rake db:migrate
bundle exec rails server

http://localhost:3000 へアクセスして問題が起きなければ完了です。
今回の環境では上手くいきましたが、問題はデザイナーさんのPCがWindows7なのでこの通りになるかは、試してみるまでわかりません。。