Ruby - 我可以在别名下导入gem以避免依赖性问题吗?

时间:2018-06-12 18:49:36

标签: ruby

我是Ruby的新手,正在开发一个类似Gemfile的项目:

的Gemfile

require_relative 'gem_source_url'
gem_source_url = GemSourceUrl.get_source_url

source gem_source_url do
  gem 'jwt'
  gem 'some_other_lib'
end

我的问题是,宝石some_other_lib包含的版本jwt太旧了(1.5.6),我无法使用,但我无法使用改变与宝石有关的任何事情。

我能以某种方式在别名(2.1.0)下导入更新版本的jwt gem,所以我可以使用更新的版本吗?

1 个答案:

答案 0 :(得分:2)

如果没有一些脏代码可能不太可能,因为导入同一个gem的两个版本意味着在实践中你会使用同一个类的两个版本(在这种情况下是JWT)。更好的方法是让some_other_lib的制造商更新他们的依赖关系,或者,如果不再维护,请自行分叉和更新,然后为社区的利益推出更新版本。

编辑:有关冲突类的详细信息,请参阅Use 2 versions of gem at same time