cảnh báo: hằng :: Fixnum không được dùng nữa khi tạo mô hình mới


88

Tôi đã cố gắng tìm một số giải pháp cho điều này, nhưng tôi thực sự không thể tìm thấy bất kỳ điều gì liên quan đến các lỗi xuất hiện với tôi khi tôi chạy lệnh rails:

rails tạo mô hình Tên sách: tóm tắt chuỗi: text isbn: string

/home/vmu/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:51: warning: constant ::Fixnum is deprecated
/home/vmu/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:52: warning: constant ::Bignum is deprecated
/home/vmu/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/core_ext/numeric/conversions.rb:138: warning: constant ::Fixnum is deprecated
Running via Spring preloader in process 3579
Expected string default value for '--jbuilder'; got true (boolean)
      invoke  active_record
   identical    db/migrate/20170104114702_create_books.rb
   identical    app/models/book.rb
      invoke    test_unit
   identical      test/models/book_test.rb
   identical      test/fixtures/books.yml

Bất cứ ai biết những gì có thể gây ra những lỗi này?

Câu trả lời:


86

Cảnh báo này xuất hiện vì bạn đang sử dụng ruby ​​2.4.0.

Phiên bản này đã giới thiệu thay đổi này: Hợp nhất Fixnum và Bignum thành Số nguyên

Xem thông báo tại đây: https://www.ruby-lang.org/vi/news/2016/12/25/ruby-2-4-0-released/

Các cảnh báo đến từ viên ngọc hỗ trợ hoạt động, là một phần của đường ray và sẽ được sửa trong bản phát hành sắp tới.

Bây giờ bạn chỉ có thể bỏ qua những cảnh báo đó.

Cập nhật: Rails 5.0.2 đã được phát hành , loại bỏ các cảnh báo.


1
Tôi sử dụng ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]nhưng cũng nhận được vấn đề này.
máy bay

1
Làm cách nào để bỏ qua các cảnh báo? Chạy "đường ray s" thất bại
Sauron

@Sauron Nó sẽ không thất bại vì cảnh báo. Có thể bạn có một số lỗi bổ sung?
IngoAlbers

19

Tôi đã sửa lỗi của mình bằng cách cập nhật đường ray

bundle update rails

1
Điều này đã hiệu quả với tôi cho đến khi mở một thiết bị đầu cuối mới: bundle update geocoderNhận lại lỗi sau, ngay trước khi bảng điều khiển rails bắt đầu:/home/moi/.rvm/gems/ruby-2.4.0/gems/geo-distance-0.2.2/lib/geo-distance/core_ext.rb:13: warning: constant ::Fixnum is deprecated
Forrest Wilkins vào

9

Tôi giả sử bạn đang sử dụng Rails 5? Kiểm tra liên kết này (ở phía dưới). Có vẻ như những cảnh báo này sẽ biến mất với bản phát hành # 27458.


8

Nếu các cảnh báo không dùng nữa này trong hỗ trợ đang hoạt động là cảnh báo duy nhất bạn thấy, bạn có thể nhấn chúng bằng cách chuyển một biến cơ sở RUBYOPT với tùy chọn -W0 sẽ tắt tiếng.

vì vậy thay vì rails server thử: RUBYOPT="-W0" rails serverhoặcRUBYOPT="-W0" bin/rails server

Trong rails 5.0, bạn có thể muốn có thói quen sử dụng bin / rails không chỉ đường ray, vì đó là phiên bản rails toàn cầu có thể giống hoặc không giống với phiên bản rails cục bộ của bạn.


0

Tôi đã sửa lỗi cập nhật therubyracerđá quý này từ phiên bản '0.12.2' thành '0.12.3'

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.