경고 : 상수 :: Fixnum은 새 모델을 생성 할 때 더 이상 사용되지 않습니다.


88

이에 대한 해결책을 찾으려고 노력했지만 rails 명령을 실행할 때 표시되는 오류와 관련된 어떤 것도 찾을 수 없었습니다.

rails는 모델을 생성합니다 Book 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

누구나 이러한 오류의 원인이 무엇인지 알고 있습니까?

답변:


86

이 경고는 루비 2.4.0을 사용하고 있기 때문에 나타납니다.

이 버전은 다음 변경 사항을 도입했습니다. Fixnum 및 Bignum을 Integer로 통합

공지 사항은 여기를 참조하십시오 : https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/

경고는 레일의 일부인 activesupport gem에서 나 왔으며 다음 릴리스에서 수정 될 것입니다.

지금은 이러한 경고를 무시할 수 있습니다.

업데이트 : Rails 5.0.2가 출시 되어 경고가 사라졌습니다.


1
나는 사용 ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]하지만 또한이 문제를 얻습니다.
항공기

1
경고를 무시하려면 어떻게합니까? "레일 s"를 실행 실패
사우론

@Sauron 경고 때문에 실패해서는 안됩니다. 추가로 오류가 있습니까?
IngoAlbers 2017

19

레일을 업데이트하여 내 문제를 해결했습니다.

bundle update rails

1
이것은 새 터미널을 열 때까지 저에게 효과적이었습니다. bundle update geocoderRails 콘솔이 시작되기 직전에 다음 오류가 다시 수신되었습니다./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

Rails 5를 사용하고 있다고 가정합니다. 이 링크 (아래쪽)를 확인하십시오 . 이 경고는 릴리스 # 27458로 사라질 것 같습니다.


8

활성 지원에서 이러한 지원 중단 경고가 표시되는 유일한 경고 인 경우 -W0 옵션과 함께 RUBYOPT bash 변수를 전달하여이를 억제 할 수 있습니다.

그래서 rails server 시도 대신 : RUBYOPT="-W0" rails server또는RUBYOPT="-W0" bin/rails server

rails 5.0에서는 레일뿐만 아니라 bin / rails를 사용하는 습관을 들이고 싶을 수 있습니다. 그 이유는 로컬 레일 버전과 같을 수도 있고 같지 않을 수도있는 글로벌 레일 버전이기 때문입니다.


0

이 업데이트 therubyracergem을 버전 '0.12.2'에서 '0.12.3'으로 수정했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.