2017-06-10 4 views
6

Ich bin neu bei StackOverflow und Rails, also hoffe ich, das ist nicht zu naiv eine Frage. Ich versuche, meine Anwendung lokal mit dem bin/rails-Server auszuführen. Wenn ich schreibe, dass, erhalte ich die folgende Spur:Ruby 2.4.1 - Warnung: constant :: Fixnum ist veraltet

=> Booting Puma 
=> Rails 4.2.5 application starting in development on http://localhost:3000 
=> Run `rails server -h` for more startup options 
=> Ctrl-C to shutdown server 

    /Users/name/.rvm/gems/ruby-2.4.1/gems/activesupport-4.2.5/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Fixnum is deprecated 
    /Users/name/.rvm/gems/ruby-2.4.1/gems/activesupport-4.2.5/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Bignum is deprecated 
    Exiting 
    /Users/name/.rvm/gems/ruby-2.4.1/gems/activesupport-4.2.5/lib/active_support/core_ext/numeric/conversions.rb:125:in `block (2 levels) in <class:Numeric>': stack level too deep (SystemStackError) 
     from /Users/name/.rvm/gems/ruby-2.4.1/gems/activesupport-4.2.5/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>' 
     from /Users/name/.rvm/gems/ruby-2.4.1/gems/activesupport-4.2.5/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>' 
     from /Users/name/.rvm/gems/ruby-2.4.1/gems/activesupport-4.2.5/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>' 
     from /Users/name/.rvm/gems/ruby-2.4.1/gems/activesupport-4.2.5/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>' 
     from /Users/name/.rvm/gems/ruby-2.4.1/gems/activesupport-4.2.5/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>' 
     from /Users/name/.rvm/gems/ruby-2.4.1/gems/activesupport-4.2.5/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>' 
     from /Users/name/.rvm/gems/ruby-2.4.1/gems/activesupport-4.2.5/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>' 
     from /Users/name/.rvm/gems/ruby-2.4.1/gems/activesupport-4.2.5/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>' 
     ... 5603 levels... 
     from /Users/name/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
     from /Users/name/spending-tracker-master/bin/spring:13:in `<top (required)>' 
     from bin/rails:3:in `load' 
     from bin/rails:3:in `<main>' 

glaube ich nicht, dass ich es hier wie gesagt ignorieren (warning: constant ::Fixnum is deprecated When generating new model), weil es nicht die Anwendung lokal geöffnet.

Könnte jemand helfen?

Vielen Dank! Ben

+2

Versuchen Sie, Schienen zu aktualisieren –

+1

Oder wenn Sie eine [MCVE] zur Verfügung stellen könnten, würde ich Ihnen eine genauere Antwort geben. –

+0

Beachten Sie die in Ruby V2.4 eingeführte Änderung [hier] (http://blog.bigbinary.com/2016/11/18/ruby-2-4-unifies-fixnum-and-bignum-into-integer.html). –

Antwort

8

Ruby 2.4 vereinheitlicht Fixnum und Bignum in einer einzigen Klasse Integer. Wenn Rails (ActiveSupports core extensions, um genau zu sein) versucht, die oben genannten Klassen zu patchen, tritt ein Fehler auf. Diese

war fixed in Rails 5, und das Update wurde auch 4.2 mit version 4.2.8 auf Schienen zurückportiert:

Hallo allerseits,

Ich bin glücklich, zu verkünden, dass Rails 4.2.8 wurde veröffentlicht.

Dies ist die erste Version der 4.2-Serie, die offiziell Ruby 2.4 unterstützt.

Alles, was Sie tun müssen, ist upgrading Rails von 4.2.5 zu Rails 4.2.8.

Verwandte Themen