Ruby on rails 如何修复';警告:常量::Fixnum已弃用';错误

Ruby on rails 如何修复';警告:常量::Fixnum已弃用';错误,ruby-on-rails,ruby,rubygems,Ruby On Rails,Ruby,Rubygems,当我试图从RubyMine IDE运行rails服务器时,出现以下错误: C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Fixnum is deprecated C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/activesupport-4.

当我试图从RubyMine IDE运行rails服务器时,出现以下错误:

C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Fixnum is deprecated
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Bignum is deprecated
ExitingTraceback
我目前正在运行Ruby 2.5.5p157和Rails 4.2.7.1。要运行web应用程序,我应该做什么?非常感谢你的帮助


尝试运行网站时的完整日志:

C:\Ruby25-x64\bin\ruby.exe "C:/Users/Sam/Desktop/Takai/Website/bin/rails" server -b 127.0.0.1 -p 3000 -e development -b 0.0.0.0
=> Booting WEBrick
=> Rails 4.2.7.1 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Fixnum is deprecated
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Bignum is deprecated
ExitingTraceback
 (most recent call last):
C:/Users/Sam/Desktop/Takai/Website/bin/rails: stack level too deep (SystemStackError)

Process finished with exit code 1

您使用的是旧版本的Rails和新版本的Ruby,Rails希望使用新版本Ruby中不再存在的东西(
Fixnum

您有两个选择:

  • 使用旧版本Rails支持的Ruby版本。根据Ruby 2.4,它应该适合您
  • 将Rails应用程序更新到支持Ruby 2.5的Rails的更新版本。Rails 5.1似乎是正式支持Ruby 2.5的Rails的第一个版本

  • 第一种选择可能要容易得多。但是我仍然建议您更新Rails版本,因为您的Rails版本没有维护,将不再获得任何更新或安全性。

    您认为弃用警告实际上是问题所在吗?我无法想象这个警告会导致堆栈递归问题,但我不能直接确认或否认它。我安装了Ruby 2.4.5和Rails 4.2.7.1,但仍然得到相同的错误。现在,不再使用“退出代码为1的流程结束”,而是使用退出代码为-1073741819(0xC0000005)的流程结束