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

Superclass conflict in two gem dependencies

我正在向 Gemfile 添加 2 个 gem:

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::SHA3class,但是其中一个继承了Object and other Digest::Class.

有什么办法让它起作用吗?

不幸的是,你不能用它做很多事情。

你可以在这里找到答案