简体   繁体   English

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

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

I am upgrading a project from rails 3 to rails 6.0.0.我正在将项目从 rails 3 升级到 rails 6.0.0。 I have also updated to Ruby 2.6.3.我还更新到 Ruby 2.6.3。 Upon running rails s I encounter:在运行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

I've seen suggestions to update the delayed_job gem but that has not fixed the issue.我已经看到了更新delayed_job gem 的建议,但这并没有解决问题。


UPDATE更新

My Gemfile:我的宝石文件:

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

gem "rails", "6.0.0"

bundle install outputs "Using rails 6.0.0" bundle install输出“使用 rails 6.0.0”

However the output of rails -v is 2.3.2但是rails -v的 output 是 2.3.2

I needed to uninstall and reinstall rails manually.我需要手动卸载并重新安装 rails。

gem uninstall rails

gem install rails -v 6.0.0

gem install railties && rbenv rehash

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

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