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

이에 대한 해결책을 찾으려고 노력했지만 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

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



답변

이 경고는 루비 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가 출시 되어 경고가 사라졌습니다.


답변

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

bundle update rails


답변

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


답변

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

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

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


답변

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


답변