質問: ### 前提・実現したいこと Macで開発中のアプリですが、Git経由で、もう一台のPC(Windows 7 Professional, 64bit)も使って開発を続けたいと思っています。WindowsにRuby on Railsでの開発環境を構築するところでつまづいています。 RubyもRailsもインストールできているのですが、サーバーを立ち上げると以下のようなエラーが出てしまいます。調べたところ、Ruby2.4ではなく2.3にすると良いとあったので、Uruを使用し2.3に切り替えているのですが、エラーの内容を見ると依然としてRuby24-x64、つまり2.4でエラーになっているようです。 これはもともとのMacの環境が2.4だからでしょうか。ちなみにRails 5にアップグレードするという解決方法も見かけましたが、以前Rails 4で開発中にアップグレードして不具合が出たので、5へのアップグレードは試しておりません。 解決策ご存知の方いらっしゃいましたらご教示頂けますと幸甚です。 ### 発生している問題・エラーメッセージ ``` C:\Users\ytk\Desktop\app_clone\appappapp>rails s => Booting WEBrick => Rails 4.2.6 application starting in development on http://localhost:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-4.2.6/lib/active_support/co re_ext/numeric/conversions.rb:121: warning: constant ::Fixnum is deprecated C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/activesupport-4.2.6/lib/active_support/co re_ext/numeric/conversions.rb:121: warning: constant ::Bignum is deprecated C:\Users\ytk\Desktop\app_clone\appappapp>ruby -v ruby 2.3.3p222 (2016-11-21 revision 56859) [x64-mingw32] ```
回答: Ruby の Integer は,Fixnum と Bignum に分かれていた(すべての整数オブジェクトはどちらかのインスタンスだった)のが,Integer に一本化されたんですよね。 参考:Ruby 2.4でIntegerに一本化される整数 - Qiita さて,メッセージを見ると activesupport のバージョンは 4.2.6 ですね。 4.2 系列の最新である 4.2.10 ではこの問題は直っているぽいので,4.2.10 を試してみては。 bundle update すれば rails や activesupport などのバージョンが 4.2.10 に上がると思います。 Mac で警告が出なかった理由は分かりませんが,gem のバージョンが Windows よりも高かったとかかもしれません。 Rails 4 系を 5 系に上げるのは,やはりいくらか注意が必要ですが,ものすごく難しいわけでもないので,開発が落ち着いたところでぜひチャレンジしてください。 Rails 5.0 で Turbolinks 関係がかなり変わりました。オートロード関係も変わりました。 よくハマるのが,`belongs_to` です。Rails 5 では,デフォルトで外部キーが必須となったので,無しでもよいことにするなら `optional: true` と書かなければなりません。