2017-06-10 25 views
6

Tôi mới dùng StackOverflow và Rails, vì vậy tôi hy vọng đây không phải là một câu hỏi quá ngây thơ. Tôi đang cố gắng chạy ứng dụng của tôi cục bộ bằng cách sử dụng máy chủ bin/rails. Khi tôi gõ đó, tôi nhận được dấu vết sau:Ruby 2.4.1 - cảnh báo: hằng số :: Fixnum không được chấp nhận

=> 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>' 

Tôi không tin rằng tôi có thể bỏ qua nó như đã nêu ở đây (warning: constant ::Fixnum is deprecated When generating new model) bởi vì nó sẽ không mở ứng dụng tại địa phương.

Ai đó có thể trợ giúp?

Cảm ơn bạn! Ben

+2

Thử cập nhật đường ray –

+1

Hoặc nếu bạn có thể cung cấp [mcve], tôi sẽ cung cấp cho bạn câu trả lời rõ ràng hơn. –

+0

Lưu ý thay đổi được giới thiệu trong Ruby V2.4 được mô tả [tại đây] (http://blog.bigbinary.com/2016/11/18/ruby-2-4-unifies-fixnum-and-bignum-into-integer.html). –

Trả lời

8

Ruby 2.4 hợp nhất FixnumBignum vào một lớp đơn Integer. Khi Rails (ActiveSupport's core extensions được chính xác) cố gắng để khỉ-vá các lớp học nói trên, một lỗi xảy ra.

Đây là fixed trong Rails 5, và việc sửa chữa cũng được backported để Rails 4.2 với version 4.2.8:

Hi tất cả mọi người,

Tôi vui mừng thông báo rằng Rails 4.2.8 đã được phát hành.

Đây là phiên bản đầu tiên của loạt 4.2 hỗ trợ chính thức Ruby 2.4.

Tất cả những gì bạn phải làm là upgrading Rails từ 4.2.5 đến Rails 4.2.8.

Các vấn đề liên quan