advertencia: constante :: Fixnum está en desuso al generar un nuevo modelo

88

Intenté encontrar alguna solución para esto, pero realmente no pude encontrar nada relacionado con los errores que me aparecen cuando ejecuto el comando rails:

rieles generan modelo Título del libro: resumen de cadena: texto isbn: cadena

/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

¿Alguien sabe qué puede estar causando estos errores?

usuario7374147
fuente

Respuestas:

86

Estas advertencias aparecen porque está utilizando ruby ​​2.4.0.

Esta versión introdujo este cambio: Unificar Fixnum y Bignum en Integer

Vea aquí el anuncio: https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/

Las advertencias provienen de la gema de soporte activo que es parte de rieles y se corregirá en una próxima versión.

Por ahora, puede simplemente ignorar esas advertencias.

Actualización: se ha lanzado Rails 5.0.2 , que elimina las advertencias.

IngoAlbers
fuente
1
Yo uso ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]pero también tengo este problema.
avión
1
¿Cómo ignoro las advertencias? La ejecución de "rails s" falla
Sauron
@Sauron No debería fallar debido a las advertencias. ¿Quizás tienes algún error adicionalmente?
IngoAlbers
19

Arreglé el mío actualizando rieles

bundle update rails
mpalencia
fuente
1
Esto funcionó para mí hasta que abrí una nueva terminal: bundle update geocoderRecibiendo el siguiente error nuevamente, justo antes de que comience la consola de rieles:/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

¿Asumo que estás usando Rails 5? Mira este enlace (hacia la parte inferior). Parece que estas advertencias desaparecerán con la versión # 27458.

jvillian
fuente
8

Si estas advertencias de desaprobación en soporte activo son las únicas advertencias que está viendo, puede suprimirlas pasando una variable bash RUBYOPT con la opción -W0 que se silenciará.

así que en lugar de rails server intentarlo: RUBYOPT="-W0" rails serveroRUBYOPT="-W0" bin/rails server

En rails 5.0, es posible que desee adquirir el hábito de usar bin / rails no solo rieles, ya que esa es la versión de rieles globales que puede o no ser la misma que la versión de rieles locales.

lsiebert
fuente
0

therubyracerArreglé esta gema de actualización de la versión '0.12.2' a '0.12.3'

Anyelo Petit
fuente