两颗gem共享相同的要求?

我打电话的时候:

require 'retryable' 

这两个gem发生冲突:

  • https://github.com/robertsosinski/retryable
  • https://github.com/carlo/retryable

因为他们都有一个’可重试的’文件,他们要求用户要求。 我对使用第一个gem感兴趣,但这并不总是发生。

此代码作为我自己的gem的一部分执行,并且必须在所有用户之间可靠。

有没有办法特别要求gem(因为gem名称当然不同)?

如何解决此命名冲突?

编辑:澄清一下,这是官方的回购和gem名称实际上是不同的(“retryable-rb”和“carlo-retryable”),但他们都要求他们的用户要求lib / retryable.rb文件require 'retryable'

您可以使用gem方法显式激活特定的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