两个宝石共享相同的要求?

Zir*_*ode 6 ruby gem rubygems require

我打电话的时候:

require 'retryable' 
Run Code Online (Sandbox Code Playgroud)

这两个宝石发生冲突:

因为他们都有一个'可重试的'文件,他们要求用户要求.我对使用第一颗宝石很感兴趣,但并不总是如此.

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

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

如何解决此命名冲突?

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

mat*_*att 2

gem您可以使用方法显式激活特定的 gem 。

在这种情况下,您需要retryable-rbgem,而不是任何其他可能有retryable.rb文件的东西:

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
Run Code Online (Sandbox Code Playgroud)