简体   繁体   English

ruby 升级后启动 Rails Server 时出错

[英]Error when starting Rails Server after ruby upgrade

I was using Ruby 2.2 and Rails 4.2.0 and everything was working fine But since upgrading Ruby to 2.4.0, I'm getting the error message below.我使用的是 Ruby 2.2 和 Rails 4.2.0,一切正常但是自从将 Ruby 升级到 2.4.0 后,我收到以下错误消息。 I have also tried it with Ruby 2.6.5.我也试过 Ruby 2.6.5。 Same thing.一样。 Please Help!请帮忙!

rails s
/Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/roxml-3.3.1/lib/roxml/definition.rb:156: warning: constant ::Fixnum is deprecated
/Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Fixnum is deprecated
/Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Bignum is deprecated
/Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>': stack level too deep (SystemStackError)
  from /Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
  from /Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
  from /Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
  from /Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
  from /Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
  from /Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
  from /Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
  from /Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.0/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
   ... 4818 levels...
  from /Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
  from /Users/varunaggarwal/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>'
  from bin/rails:8:in `require'
  from bin/rails:8:in `<main>'

I read here ( https://github.com/rails/rails/issues/27670 ) that Ruby 2.4 requires Rails 4.2.8 or higher.我在这里( https://github.com/rails/rails/issues/27670 )读到 Ruby 2.4 需要 Rails 4.2.8 或更高版本。 Upgrading rails from 4.2.0 to 4.2.8 solved it.将 rails 从 4.2.0 升级到 4.2.8 解决了这个问题。

in gemfile, I changed gem 'rails', '4.2.0' to gem 'rails', '4.2.8'在 gemfile 中,我将 gem 'rails', '4.2.0' 更改为 gem 'rails', '4.2.8'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM