<class:Numeric>': 堆栈级别太深 (SystemStackError)

cod*_*321 3 ruby macos ruby-on-rails

我正在尝试 rails 教程,但 rails 服务器无法正常工作http://guides.rubyonrails.org/getting_started.html

$ rvm install ruby-2.4.1
$ rvm use 2.4.1 --default
$ gem install bundler
$ bundle install
Using rake 12.0.0
Using i18n 0.8.1
$ rm -rf vendor/
$ bundle install
$ ./bin/rails server
=> Booting WEBrick
=> Rails 4.2.6 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
/Users/cchilders/tutorials/ruby/rails_official_tutorial/my-code/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Fixnum is deprecated
/Users/cchilders/tutorials/ruby/rails_official_tutorial/my-code/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Bignum is deprecated
Exiting
/Users/cchilders/tutorials/ruby/rails_official_tutorial/my-code/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:125:in `block (2 levels) in <class:Numeric>': stack level too deep (SystemStackError)
    from /Users/cchilders/tutorials/ruby/rails_official_tutorial/my-code/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/cchilders/tutorials/ruby/rails_official_tutorial/my-code/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/cchilders/tutorials/ruby/rails_official_tutorial/my-code/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/cchilders/tutorials/ruby/rails_official_tutorial/my-code/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/cchilders/tutorials/ruby/rails_official_tutorial/my-code/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/cchilders/tutorials/ruby/rails_official_tutorial/my-code/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/cchilders/tutorials/ruby/rails_official_tutorial/my-code/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/cchilders/tutorials/ruby/rails_official_tutorial/my-code/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
     ... 5591 levels...
    from /Users/cchilders/tutorials/ruby/rails_official_tutorial/my-code/vendor/bundle/ruby/2.4.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from /Users/cchilders/tutorials/ruby/rails_official_tutorial/my-code/vendor/bundle/ruby/2.4.0/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>'
    from ./bin/rails:4:in `require'
    from ./bin/rails:4:in `<main>'
Run Code Online (Sandbox Code Playgroud)

在 bundle install 上,没有安装任何东西,它似乎立即打印出安装的东西列表。我的红宝石似乎是正确的:

$ which ruby
/Users/cchilders/.rvm/rubies/ruby-2.4.1/bin/ruby
Run Code Online (Sandbox Code Playgroud)

我删除了供应商包,因为最后一个错误抱怨在我的默认 ruby​​ 是 2.4.1 时使用带有 ruby​​ 2.4.0 的 sqlite3。

我该如何解决这个问题并启动 Rails?

Зел*_*ный 7

安装Rails 4.2.8,它与 Ruby v 2.4.* 兼容

$ gem install rails -v '4.2.8'
Run Code Online (Sandbox Code Playgroud)