【问题标题】:How to resolve BigDecimal 'already initialised constant' warnings on 'mailcatcher' cmd?如何解决“mailcatcher”cmd上的BigDecimal“已经初始化常量”警告?
【发布时间】:2015-08-08 20:20:48
【问题描述】:

每次我启动 mailcatcher 时,都会显示“已初始化常量”警告。谁能建议如何解决这个问题?谢谢。 下面更新。

/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::BASE
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::EXCEPTION_ALL
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::EXCEPTION_NaN
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::EXCEPTION_INFINITY
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::EXCEPTION_UNDERFLOW
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::EXCEPTION_OVERFLOW
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::EXCEPTION_ZERODIVIDE
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::ROUND_MODE
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::ROUND_UP
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::ROUND_DOWN
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::ROUND_HALF_UP
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::ROUND_HALF_DOWN
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::ROUND_CEILING
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::ROUND_FLOOR
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::ROUND_HALF_EVEN
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::SIGN_NaN
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::SIGN_POSITIVE_ZERO
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::SIGN_NEGATIVE_ZERO
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::SIGN_POSITIVE_FINITE
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::SIGN_NEGATIVE_FINITE
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::SIGN_POSITIVE_INFINITE
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::SIGN_NEGATIVE_INFINITE
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::INFINITY
/Users/james/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/bigdecimal-1.2.7/bigdecimal.bundle: warning: already initialized constant BigDecimal::NAN

更新:我有 uninstalled gem bigdecimalinstalled gem bigdecimal,没有变化。然后我指定了gem 'bigdecimal', ~> 1.1,仍然没有变化。搜索此错误的地方不多。我正在运行 Ruby 2.1.5 和 Rails 4.2.1。

【问题讨论】:

    标签: ruby-on-rails ruby email gem mailcatcher


    【解决方案1】:

    可能是 bigdecimal gem 的问题。尝试在 Gemfile 中强制使用 v1.1:

    gem 'bigdecimal', '~> 1.1'
    

    来自this answer

    【讨论】:

    • Bundle 显示我已经在使用 bigdecimal 1.2.7。 Gem 'bigdecimal' 从未在 Gemfile 中指定,现在尝试指定为详细,但没有更改。仍然显示弃用警告,到目前为止,通过谷歌搜索发现几乎没有用处。
    • 你试过'gem uninstall bigdecimal'然后'gem install bigdecimal -v 1.1'吗?我在尝试安装该版本时遇到错误,因此可能会暂时继续进行,因为这对我来说比紧急更令人烦恼,但成功降级似乎会有所帮助。
    猜你喜欢
    • 2011-08-29
    • 2011-01-02
    • 2011-11-29
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 2011-08-20
    相关资源
    最近更新 更多