两个gem依赖项中的超类冲突

时间:2018-12-27 18:13:06

标签: ruby-on-rails bundler

我要在Gemfile中添加2个宝石:

gem 'ethereum'
gem 'nem-ruby', require: 'nem'

bundle install --path vendor/bundle正常工作,但是当我尝试运行bundle exec rails c(或任何其他bundle exec)时,我遇到了错误:

 superclass mismatch for class Digest::SHA3 (Digest::Class is given but was Digest::Base) (TypeError)

在Gemfile.lock中,我看到以下内容:

 ...
 ethereum (0.5.2)
      activesupport
      sha3-pure-ruby (= 0.1.1)
 nem-ruby (0.0.12)
      base32 (~> 0.3)
      digest-sha3 (~> 1.1)
      faraday (~> 0.11)
      faraday_middleware (~> 0.11)
...

据我所知,此错误是由digest-sha3和sha3-pure-ruby依赖性引起的。它们都具有Digest :: SHA3类,但是其中一个继承了Object和其他Digest::Class

有什么办法可以使它工作?

1 个答案:

答案 0 :(得分:1)

不幸的是,您不能做很多事。

您可以在这里https://stackoverflow.com/a/4497478/6745294

找到答案