当我打电话时:
require 'retryable'
这两个 gem 冲突:
因为他们都有一个“可重试”文件,所以他们要求用户要求。我对使用第一个 gem 很感兴趣,但这并不总是会发生。
这段代码作为我自己的 gem 的一部分执行,它必须对所有用户都是可靠的。
有没有办法从 gem 中专门要求(因为 gem 名称当然不同)?
如何解决这个命名冲突?
编辑:澄清一下,这是官方仓库,gem 名称实际上是不同的(“retryable-rb”和“carlo-retryable”),但是他们都要求他们的用户使用 lib/retryable.rb 文件需要“可重试”
最佳答案
您可以使用 gem
method 显式激活特定的 gem .
在这种情况下,您需要 retryable-rb
gem,而不是任何其他可能具有 retryable.rb
文件的 gem:
gem 'retryable-rb' # activates the gem in question
# and adds its lib dir to load path
require 'retryable' # loads retryable.rb from the retryable-rb gem, as it
# is now on the load path
关于ruby - 两个 gem 共享相同的要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20054133/