avertissement: constant :: Fixnum est obsolète lors de la génération d'un nouveau modèle


88

J'ai essayé de trouver une solution à cela, mais je n'ai vraiment rien trouvé lié aux erreurs qui m'apparaissent lorsque j'exécute la commande rails:

les rails génèrent le modèle Titre du livre: chaîne résumé: texte isbn: chaîne

/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

Quelqu'un sait ce qui peut être à l'origine de ces erreurs?

Réponses:


86

Ces avertissements apparaissent car vous utilisez ruby ​​2.4.0.

Cette version a introduit ce changement: Unifier Fixnum et Bignum en Integer

Voir ici pour l'annonce: https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/

Les avertissements proviennent du gem actifsupport qui fait partie des rails et sera corrigé dans une prochaine version.

Pour l'instant, vous pouvez simplement ignorer ces avertissements.

Mise à jour: Rails 5.0.2 a été publié , ce qui supprime les avertissements.


1
J'utilise ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]mais j'obtiens aussi ce problème.
avion le

1
Comment ignorer les avertissements? Échec de l'exécution de "rails s"
Sauron

@Sauron Il ne devrait pas échouer à cause des avertissements. Peut-être avez-vous une erreur en plus?
IngoAlbers

19

J'ai réparé le mien en mettant à jour les rails

bundle update rails

1
Cela a fonctionné pour moi jusqu'à l'ouverture d'un nouveau terminal: bundle update geocoderRéception de l'erreur suivante, juste avant le démarrage de la console des rails:/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

Je suppose que vous utilisez Rails 5? Consultez ce lien (vers le bas). Il semble que ces avertissements disparaîtront avec la version 27458.


8

Si ces avertissements d'obsolescence dans le support actif sont les seuls avertissements que vous voyez, vous pouvez les surpresser en passant une variable bash RUBYOPT avec l'option -W0 qui fera taire.

donc au lieu d' rails server essayer: RUBYOPT="-W0" rails serverouRUBYOPT="-W0" bin/rails server

Dans rails 5.0, vous voudrez peut-être prendre l'habitude d'utiliser bin / rails pas seulement des rails, car c'est la version globale des rails qui peut ou non être la même que votre version locale de rails.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.