Я не могу запустить сервер Rails с помощью команды rails s. Он выбрасывает NoMethodError - PullRequest
0 голосов
/ 22 апреля 2020

Когда я пытаюсь запустить сервер Rails, я получаю следующую ошибку:

22: from bin/rails:4:in `<main>'
        21: from bin/rails:4:in `require'
        20: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/commands.rb:17:in `<top (required)>'
        19: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
        18: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/commands/commands_tasks.rb:73:in `server'
        17: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/commands/commands_tasks.rb:123:in `require_command!'
        16: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/commands/commands_tasks.rb:123:in `require'
        15: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/commands/server.rb:4:in `<top (required)>'
        14: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/commands/server.rb:4:in `require'
        13: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails.rb:11:in `<top (required)>'
        12: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails.rb:11:in `require'
        11: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/application.rb:7:in `<top (required)>'
        10: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/application.rb:7:in `require'
         9: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/engine.rb:1:in `<top (required)>'
         8: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/engine.rb:1:in `require'
         7: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/railtie.rb:2:in `<top (required)>'
         6: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/railtie.rb:2:in `require'
         5: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/configuration.rb:2:in `<top (required)>'
         4: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-4.2.10/lib/rails/configuration.rb:2:in `require'
         3: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-4.2.10/lib/active_support/core_ext/object.rb:3:in `<top (required)>'
         2: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-4.2.10/lib/active_support/core_ext/object.rb:3:in `require'
         1: from /root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-4.2.10/lib/active_support/core_ext/object/duplicable.rb:106:in `<top (required)>'
/root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-4.2.10/lib/active_support/core_ext/object/duplicable.rb:111:in `<class:BigDecimal>': undefined method `new' for BigDecimal:Class (NoMethodError)

Я использую Rails на Bash в Ubuntu для Windows.

Вот версии:

  • Рельсы 4.2.10
  • Ruby 2.7.1p83
  • railties-4.2.10

1 Ответ

1 голос
/ 22 апреля 2020

Вы пытаетесь запустить старую версию Rails на самой последней версии Ruby, но Rails 4.2 не совместим с Ruby 2.7.

Согласно " Какие * 1010" * on Rails совместим с какой Ruby версией?", понижение до Ruby до 2.3 или 2.4 должно работать в качестве обходного пути.

Rails 4.2 достиг конца срока службы некоторое время go, теперь оно не поддерживается и больше не будет получать обновления безопасности. Я предлагаю обновить версию вашего Rails-приложения с высоким приоритетом.

...