我已经完全删除了rvm并安装了mailcatcher的0.5.10。当我运行mailcatcher时,我得到以下错误:
.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-3.2.22.5/lib/active_support/core_ext/object/duplicable.rb:111:in `<class:BigDecimal>': undefined method `new' for BigDecimal:Class (NoMethodError)
BigDecimal.new('4.56').dup
字符串
导致错误的可能原因是什么?
2条答案
按热度按时间5lhxktic1#
Mailcatcher版本
0.5.10
在10多年前发布了in September 2012。这个旧版本需要activesupport ~> 3.0
,它是Ruby on Rails的一部分,因此将其添加到Gemfile
并运行Bundler,将应用程序的Rails版本降级为最新的3.2
版本。要解决这个问题,我建议在不指定任何版本的情况下将Mailcatcher添加到
Gemfile
,如下所示字符串
再次运行
bundle install
。这应该安装最新版本的Mailcatcher gem(在写这个答案的时候是
0.8.2
),它应该可以与最新版本的Ruby on Rails一起运行。raogr8fs2#
如果你不想在你的gem文件中使用它,那么在升级到Ruby 3和Rails 7之后,我使用的是最新的beta版本和
gem install mailcatcher --pre
。