You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决MailCatcher在rbenv+Ruby3.2.2环境下运行报错问题?

错误成因分析

1. Ruby版本API变更

Ruby 3.0及以上版本彻底移除了BigDecimal.new方法——这个方法早在Ruby 2.5就被标记为废弃,官方推荐改用BigDecimal()或BigDecimal.parse()来创建BigDecimal实例。你当前使用的Ruby 3.2.2已经完全不支持BigDecimal.new的调用。

2. 依赖库版本过旧

MailCatcher 0.5.10依赖的activesupport-3.2.22.5是多年前的老旧版本,其代码中仍在使用已被移除的BigDecimal.new方法,无法适配Ruby 3.x系列的API变更,导致触发NoMethodError。

3. MailCatcher版本滞后

你安装的MailCatcher 0.5.10是过时版本,没有针对Ruby 3.x做兼容性适配,依赖的老旧ActiveSupport库进一步加剧了版本冲突问题。

错误信息原文:

.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

内容的提问来源于stack exchange,提问作者mkelley33

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 19:22:06