LoginSignup
14
14

More than 5 years have passed since last update.

RailsInstaller on Windows 8.1 検証メモ

Last updated at Posted at 2015-02-14

Rails Girls Shiojiriに向けた、RailsInstallerを用いたRails環境構築の確認。
Windows 8.1環境で検証。

インストールについて

  • railsinstaller-3.1.0.exeを用いた
    • 基本的にそのままウィザードを進めればOK
    • Gitも同梱されている

注意事項

railsinstallerでインストールするRubyに環境変数(PATH)が上書きされるので、既にRuby環境が整っている人は、それまで使っていたRuby環境が使えなくなるので注意。(パスを変えないといけない)

Railsのアップグレード

  • 標準で同梱されているRailsは4.1.8
  • 一応最新のものにupdate
    • 今回は4.2.0
    • 新しいRailsがリリースされたときに挙動が変わらないように、-vオプションできちんと指定した方が良いかも?
  • Rubyで初めてネットワーク通信を行うので、Windowsファイアーウォールの警告が出る場合がある
    • ネットワーク接続時に「パブリックネットワーク」として接続した場合、「パブリックネットワーク」にもチェックが必要
  • 例によってSSLエラーが発生する
    • 参考
    • ここからダウンロードした証明書をC:\RailsInstaller\Ruby2.1.0\lib\ruby\2.1.0\rubygems\ssl_certsに移動(ブラウザでは右クリックで保存する。.txtがつく場合があるので「すべてのファイル」を選択してから保存)
    • rubygemsへのパスはgem which rubygemsで確認できる

Railsプロジェクトの作成

  • C:\Sites内にプロジェクトを作成
rails new railsgirls
# bundle installで少し時間が掛かる
cd railsgirls
rails server
# 遅い:`INFO  WEBrick::HTTPServer#start: pid=**** port=3000`が表示されるまで待つ

Scaffoldの作成

  • http://railsgirls.jp/app/
    • に従ってscaffoldの発行は問題なし
  • http://localhost:3000/ideasアクセス時にエラー発生
    • CoffeeScriptの変換に依存する部分が動作しない

ExecJSのエラー

Windows上でCoffeeScriptの変換時にエラーが出る。

再現環境

  • Windows 8.1
  • Rails 4.2.0
  • 原因となるgem(coffee-railsの依存gem)
    • coffee-script-source (1.9.0)
    • execjs (2.3.0)

内容

scaffold後のページにアクセスするとエラーが発生する。
CoffeeScriptのコンパイル時にエラーが発生。

ActionView::Template::Error (TypeError: オブジェクトでサポートされていないプロパ
ティまたはメソッドです。
  (in C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0/gems/turbolinks-2.5.3/lib/
assets/javascripts/turbolinks.js.coffee)):

原因

CoffeeScriptのコンパイラはJavaScriptで実装されている。
このコンパイラのJavaScriptを実行するために、WindowsではWindows Script Host(以下WSH)という処理系が用いられる。(ExecJSというGemで自動的に環境判定を行って呼び出している)
CoffeeScriptのコンパイラ内で、WSHで対応していないJavaScriptのAPIが呼び出されていることが原因。

対処

  • JavaScriptの処理系にWSHを使わずNode.jsを使う
  • Node.jsをインストールするだけでOK

Node.js のインストール

  1. 以下のURLにアクセス
  2. 「INSTALL」をクリックしてインストーラをダウンロード
    • おそらく自動的に適切なインストーラがダウンロードされるが、32bit, 64bit別々なので
  3. ダウンロードしたインストーラを実行
    • ウィザードに従って特に変更無しで

※Node.jsインストール後に、コマンドプロンプトを再起動することnodeコマンドへのパスが通らないのでエラーが解消されない)

ここまでで、Scaffoldアプリの動作は全て問題なし。

14
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
14