質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

2回答

1218閲覧

Windows Rails開発環境エラー

ymatt

総合スコア20

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2018/02/22 07:38

前提・実現したいこと

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]

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

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 と書かなければなりません。

投稿2018/02/22 10:59

scivola

総合スコア2108

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ymatt

2018/02/23 02:29

ありがとうございます!4.2.10にしたらこのエラーは解決されました。TZ infoエラーがでたので、gem 'tzinfo-data'を追加したら解決しましたが、サーバーを立ち上げると今度はPermission denied @ unlink_internalエラーが・・・・ターミナルは以下です。現在いろいろ調べておりますが、もし解決策ご存知でしたらご教示いただければと思います。 ActionView::Template::Error (Permission denied @ unlink_internal - C:/Users/ytk/AppData/Local/Temp/execjs20180223-8856-1raqnzijs): 2: <html> 3: <head> 4: <title>?????? | <%= yield :title %></title> 5: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolink s-track' => true %> 6: <%= javascript_include_tag 'application', 'data-turbolinks-track' => tr ue %> 7: <%= csrf_meta_tags %> 8: </head> app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_ht ml_erb__1610124266_43469560'
scivola

2018/02/23 06:09

んー,execjs 関係ですよね。 ちなみにシステムに Node.js はインストールしていますか。
ymatt

2018/02/24 09:32

インストールしていません。いままで個人のMacで開発していましたが、今回中東に長期出張になりまして、中東に個人のMacを持っていきたくないので仕方なく会社の(ITとは全く無関係の仕事の)パソコンにRailsをインストールしたという事情です。
scivola

2018/02/24 09:39

ぜんぜん根拠ありませんが,試しにインストールしてみたらどうなるでしょう。(インストール自体は簡単です。ただ,要るかどうか分からないものを入れてみるのは嫌だと思いますが)
scivola

2018/02/24 09:44

あー,そういうことはあるかもしれませんね。 C:/Users/ytk/AppData/Local/Temp/ に Ruby からファイルを作ってみることはできますか? IO.write "C:/Users/ytk/AppData/Local/Temp/hoge.txt", "hogehoge"
ymatt

2018/03/20 15:35

大変遅くなり申し訳ありません。長期出張よりやっと帰って参りました。とりあえず、Aplication.html.erbから一時的に問題のjsexecのパートを削除することで対応しました・・・。いろいろとありがとうございました!
guest

0

まずはerrorとwarningは明確に区別してください

旧バージョンを使い続ける以上deprecated警告でるのはしょうがないです。

ruby 2.3に切り替えた上で
gem i rails --no-document -v 4.2.6
を実行しrailsをインストールし直してください

systemインストールされているRubyの設定を消さずに上書きしているせいで
切り替え先に存在せず、systemにあるgemの実行ファイルが呼び出された時
systemのrubyが実行されるのかもしれませんね。

投稿2018/02/22 09:14

asm

総合スコア15147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ymatt

2018/02/24 09:34

ご回答頂きありがとうございます。Warningですね。以降気をつけます。上記回答いただいた方にしたがってRailsを4.2.10にしたところWarningは消えました。ただ他のエラーが出ているので、もしそのエラーの解決に詰まったら立ち戻ってご教示頂いた方法を試してみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問