92 votes

warning : la constante ::Fixnum est dépréciée lors de la génération d'un nouveau modèle

J'ai essayé de trouver une solution à ce problème, mais je n'ai vraiment rien trouvé en rapport avec les erreurs qui apparaissent lorsque j'exécute la commande rails :

rails generate model Livre title:string summary: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

Quelqu'un sait-il ce qui peut causer ces erreurs ?

87voto

IngoAlbers Points 4029

Cet avertissement apparaît parce que 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 de la gemme activesupport qui fait partie de rails et qui sera corrigée dans une prochaine version.

Pour l'instant, vous pouvez ignorer ces avertissements.

Mise à jour : Rails 5.0.2 a été publié ce qui permet de se débarrasser des avertissements.

1 votes

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

1 votes

Comment ignorer les avertissements ? L'exécution de "rails s" échoue

0 votes

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

19voto

mpalencia Points 2058

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

bundle update rails

1 votes

Cela a fonctionné pour moi jusqu'à l'ouverture d'un nouveau terminal : bundle update geocoder Je reçois à nouveau 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/g‌​eo-distance/core_ext‌​.rb:13: warning: constant ::Fixnum is deprecated

9voto

josephvilla Points 389

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

9voto

lsiebert Points 512

Si ces avertissements de dépréciation dans le support actif sont les seuls avertissements que vous voyez, vous pouvez les supprimer en passant une variable bash RUBYOPT avec l'option -W0 qui les rendra silencieux.

donc au lieu de rails server essayez : RUBYOPT="-W0" rails server ou RUBYOPT="-W0" bin/rails server

Dans rails 5.0, vous pouvez prendre l'habitude d'utiliser bin/rails et pas seulement rails, car il s'agit de la version globale de rails qui peut ou non être la même que votre version locale de rails.

0voto

Anyelo Petit Points 21

J'ai corrigé cette mise à jour therubyracer gem de la version '0.12.2' à '0.12.3'.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X