更新情報

みなさん、こんにちは。

私は、普段IT研修講師をしておりまして、RubyやRailsの研修をすることも多いです。

IT研修においては、やはり実習用のPCとしてWindowsマシンを準備することが多いため、Windowsでの動作確認をすることが多いのですが、WindowsとRailsは、なかなか一筋縄ではいかないことがあります。

今日はそんな苦労話をいくつかお話ししたいと思います。

 

 

Rails3.0の頃・・・

 

突然ですが、皆さんはRailsのインストールといえば、どのような手順でされているでしょうか。多くの方が思い描かれるのは、ご存知のgemコマンドによる

 

gem install rails

 

だと思います。私も、RubyInstallerなどでRubyの処理系をインストールした後、gemコマンドでRailsをインストールしていましたが、Rails3.0がリリースされた当初、gemコマンドでインストールしても、どうしてもうまく動かない、あっちを対応すればこっちのgemが入らない、ビルドに失敗する、などほとんどお手上げの状態のことがありました。これを読まれているRailsファンの皆さんの中には、これを機にWindowsからLinux/Macに開発環境を変えました、という方もいらっしゃるかもしれないですね笑

 

私もこの現象にぶつかって、Rails3の研修はリリースできないか、環境をLinuxなどにして実施するしかないのかな・・・と思っていた時期もありました。ですが、ちょうどこの頃、そういった問題を見かねてか、Engine Yardさんから「RailsInstaller for Windows」がリリースされました。もともとRubyInstallerでインストールの簡単さ、ありがたみを感じていたところに、これのRails版が出た!と聞いて、早速ダウンロード、インストールして、無事にWindowsでRails3が動いた時の喜びは今でも忘れられません。

 

ですので、実際、現在の最新バージョンではgemコマンドでも普通にインストールできてしまうのだろうと思いますが、私はその時の恩があるので、いまだにRailsInstallerをよく使っています笑

 

Rails4~5になって・・・

 

時が過ぎ、Railsも気づけばバージョン4が2013年、そして2016年にはバージョン5がリリースされました。RailsInstallerもあるので、セットアップもだいぶ楽になってはきたのですが、やはりいくつかセットアップ時のトラブルはあります。

 

2017年7月現在でRails4をRailsInstallerでインストールした環境で使う場合ですと、プロジェクトの作成時や実行時に以下のような問題が起こることがあります。

 

① プロジェクト作成時のbundle installで、SSL接続関係でエラーとなってしまう

② bundle installにおいて、Ruby 2.1以前のバージョンを使っている場合、nokogiriの最新バージョン

(1.8.0)がRuby2.1をサポート対象外にしてしまったため、gemがインストールできない

③ coffee-script-sourceの1.9以降のバージョンがビューのレンダリング時に不具合を起こし、ExecJS::RunimeErrorなどのエラーが発生してしまう。

 

とりあえずの対処療法ですが、以下のように対応することで動作させることができました。

 

①Gemfileの先頭行にある「source ‘https://・・・’」のところを「source ‘http://・・・’」に変更する

②Gemfileにおいて「gem ‘nokogiri,’1.7.0’」と追記(バージョン番号の固定)

③Gemfileにおいて「gem ‘coffee-script-source’,’1.8.0’」と追記(バージョン番号の固定)

 

実稼働しているプロジェクトの場合、gemのバージョンはある程度FIXして運用しているかと思いますが、これからRailsを始めようとされている方の場合、とりあえず何もなければ最新バージョンを入れるように設定されているでしょうから、新バージョンのgemが出た場合などにこういったトラブルに遭遇する可能性があります。

 

私も気を付けてはいるのですが、研修講師などをやっていますと、ちょうど研修実施の期間中にあるgemの新しいバージョンがリリースされてしまって、前のバージョンと書式が変わってしまい、大幅な訂正を余儀なくされたという経験がありました。

 

Rails3のときの経験以降、WindowsとRailsは、何かと難しいことが多いなあと感じていますが、自分の経験したトラブルシュートを、研修等でできるだけフィードバックして、お役に立てればと思っています。

 

以上

執筆者:ナレッジエックス 代表取締役 中越智哉氏

1999年に北海道大学大学院卒業後、JavaとLinuxを主に扱うITベンチャーに入社。システム開発業務と並行して研修講師を7年間担当。その後、所属会社のマザーズ上場を機に2006年に研修事業をメインとする有限会社ナレッジエックス(現・株式会社~)を設立。主な研修ジャンルはJava、Ruby、Android、PHPなど多岐にわたる。初学者向け研修を得意としているが、自身の開発経験をベースとして中級者以降の研修も数多く担当。