попередження: константа :: Fixnum не підтримується під час створення нової моделі


88

Я намагався знайти якесь рішення для цього, але я дійсно не міг знайти нічого, пов'язаного з помилками, які виникають у мене під час запуску команди rails:

rails генерують модель Назва книги: підсумок рядка: текст isbn: рядок

/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

Хтось знає, що може спричинити ці помилки?

Відповіді:


86

Ці попередження з’являються, оскільки ви використовуєте ruby ​​2.4.0.

Ця версія внесла таку зміну: Unify Fixnum та Bignum у Integer

Дивіться тут для оголошення: https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/

Попередження надходять від самоцвіту активної підтримки, який є частиною рейок і буде виправлений у наступному випуску.

Наразі ви можете просто ігнорувати ці попередження.

Оновлення: Випущено Rails 5.0.2 , який позбавляється попереджень.


1
Я використовую, ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]але також отримую це питання.
літак

1
Як ігнорувати попередження? Запуск "rails s" не вдається
Саурон,

@Sauron Це не повинно провалитися через попередження. Можливо, у вас є помилка додатково?
IngoAlbers

19

Я виправив свою, оновивши рейки

bundle update rails

1
Це працювало у мене до відкриття нового терміналу: bundle update geocoderОтримавши наступну помилку знову, безпосередньо перед запуском консолі рейок:/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
Форест Уілкінс,

9

Я припускаю, що ви використовуєте Rails 5? Перевірте це посилання (унизу). Схоже, ці попередження зникнуть із випуском № 27458.


8

Якщо ці попередження про застаріння в активній підтримці є єдиними попередженнями, які ви бачите, ви можете їх придушити, передавши змінну bash RUBYOPT з опцією -W0, яка змовчить.

тож замість rails server спробувати: RUBYOPT="-W0" rails serverабоRUBYOPT="-W0" bin/rails server

У rails 5.0 ви можете захотіти звикнути використовувати bin / rails не лише рейки, оскільки це глобальна версія рейок, яка може бути такою ж, як і ваша локальна версія rails.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.