Warnung: Konstante :: Fixnum ist veraltet Beim Generieren eines neuen Modells

88

Ich habe versucht, eine Lösung dafür zu finden, aber ich konnte wirklich nichts finden, was mit den Fehlern zusammenhängt, die mir beim Ausführen des Befehls Rails angezeigt werden:

Schienen erzeugen Modell Buchtitel: Zeichenfolge Zusammenfassung: Text isbn: Zeichenfolge

/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

Weiß jemand, was diese Fehler verursachen kann?

user7374147
quelle

Antworten:

86

Diese Warnungen werden angezeigt, weil Sie Ruby 2.4.0 verwenden.

Diese Version führte diese Änderung ein: Vereinheitlichen Sie Fixnum und Bignum in Integer

Die Ankündigung finden Sie hier: https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/

Die Warnungen stammen von dem Aktiv-Support-Juwel, das Teil der Schienen ist und in einer kommenden Version behoben wird.

Im Moment können Sie diese Warnungen einfach ignorieren.

Update: Rails 5.0.2 wurde veröffentlicht , wodurch die Warnungen entfernt werden.

IngoAlbers
quelle
1
Ich benutze ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]aber auch dieses Problem.
Flugzeug
1
Wie ignoriere ich die Warnungen? Das Ausführen von "Rails s" schlägt fehl
Sauron
@Sauron Es sollte nicht an Warnungen scheitern. Vielleicht haben Sie zusätzlich einen Fehler?
IngoAlbers
19

Ich habe meine durch Aktualisierung der Schienen behoben

bundle update rails
mpalencia
quelle
1
Dies funktionierte für mich bis zum Öffnen eines neuen Terminals: bundle update geocoderErhalten Sie den folgenden Fehler erneut, kurz bevor die Schienenkonsole startet:/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
9

Ich nehme an, Sie verwenden Rails 5? Schauen Sie sich diesen Link an (nach unten). Es sieht so aus, als würden diese Warnungen mit Release # 27458 verschwinden.

jvillian
quelle
8

Wenn diese Verfallswarnungen im aktiven Support die einzigen Warnungen sind, die Sie sehen, können Sie sie unterdrücken, indem Sie eine RUBYOPT-Bash-Variable mit der Option -W0 übergeben, die stummschaltet.

also anstatt zu rails server versuchen: RUBYOPT="-W0" rails serveroderRUBYOPT="-W0" bin/rails server

In Rails 5.0 möchten Sie möglicherweise die Gewohnheit haben, bin / Rails nicht nur Rails zu verwenden, da dies die globale Rails-Version ist, die möglicherweise mit Ihrer lokalen Rails-Version identisch ist oder nicht.

lsiebert
quelle