ruby - 两个 gem 共享相同的要求?

标签 ruby rubygems gem require

当我打电话时:

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/

相关文章:

ruby - 如何使用已在 Github 上发布但尚未在 Rubygems 上发布的 gem 版本?

代理 : InvalidArgument 后面的 RubyGems

Heroku Rails App 上的 iOS 推送通知——如何提供 PEM 文件

ruby - 我如何确定我的 gem 是安全的?

ruby-on-rails - 获取数据库中存在的任何用户的任何id

ruby - 我怎样才能加快 Ruby/Rake 任务

ruby - 最大程度地使用 pluck

mysql - Ruby Sequel MySQL 插入错误

ruby-on-rails - 无法在rails 2.3.8上卸载rake 0.9

ruby-on-rails - 为什么 Rubygems 无法安装 Rails?