无法启动 rails 服务器:BigDecimal:Class 的未定义方法“yaml_as”(NoMethodError)

Cannot start rails server: undefined method `yaml_as' for BigDecimal:Class (NoMethodError)

我正在将一个项目从 rails 3 升级到 rails 6.0.0。我也更新到 Ruby 2.6.3。在 运行 rails s 我遇到:

/Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb:22: warning: constant ::Fixnum is deprecated
/Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb:89: warning: constant ::Fixnum is deprecated
Traceback (most recent call last):
    21: from /Users/tibsar/.rbenv/versions/2.6.3/bin/rails:23:in `<main>'
    20: from /Users/tibsar/.rbenv/versions/2.6.3/bin/rails:23:in `load'
    19: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rails-2.3.2/bin/rails:14:in `<top (required)>'
    18: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    17: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    16: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/rails-2.3.2/lib/rails_generator.rb:28:in `<top (required)>'
    15: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    14: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    13: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support.rb:55:in `<top (required)>'
    12: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    11: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    10: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext.rb:1:in `<top (required)>'
     9: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext.rb:1:in `each'
     8: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext.rb:3:in `block in <top (required)>'
     7: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
     6: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
     5: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext/bigdecimal.rb:4:in `<top (required)>'
     4: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext/bigdecimal.rb:5:in `<class:BigDecimal>'
     3: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext/bigdecimal.rb:5:in `include'
     2: from /Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext/bigdecimal/conversions.rb:12:in `included'
     1: from /Users/tibsarsoftware/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext/bigdecimal/conversions.rb:12:in `class_eval'
/Users/tibsar/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activesupport-2.3.2/lib/active_support/core_ext/bigdecimal/conversions.rb:16:in `block in included': undefined method `yaml_as' for BigDecimal:Class (NoMethodError)
Did you mean?  yaml_tag

我看到了更新 delayed_job gem 的建议,但这并没有解决问题。


更新

我的 Gemfile:

source 'https://rubygems.org'
# ruby
ruby '2.6.3'

gem "rails", "6.0.0"

bundle install 输出“使用 rails 6.0.0”

但是rails -v的输出是2.3.2

我需要手动卸载并重新安装 rails。

gem uninstall rails

gem install rails -v 6.0.0

gem install railties && rbenv rehash