如何让mailcatcher与rbenv,bundler和ruby 3.2.0一起工作?

am46iovg  于 2023-08-04  发布在  Ruby
关注(0)|答案(2)|浏览(93)

我已经完全删除了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

字符串
导致错误的可能原因是什么?

5lhxktic

5lhxktic1#

Mailcatcher版本0.5.10在10多年前发布了in September 2012。这个旧版本需要activesupport ~> 3.0,它是Ruby on Rails的一部分,因此将其添加到Gemfile并运行Bundler,将应用程序的Rails版本降级为最新的3.2版本。
要解决这个问题,我建议在不指定任何版本的情况下将Mailcatcher添加到Gemfile,如下所示

gem 'mailcatcher'

字符串
再次运行bundle install
这应该安装最新版本的Mailcatcher gem(在写这个答案的时候是0.8.2),它应该可以与最新版本的Ruby on Rails一起运行。

raogr8fs

raogr8fs2#

如果你不想在你的gem文件中使用它,那么在升级到Ruby 3和Rails 7之后,我使用的是最新的beta版本和gem install mailcatcher --pre

相关问题