我是Ruby的新手,正在开发一个类似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,所以我可以使用更新的版本吗?
答案 0 :(得分:2)
如果没有一些脏代码可能不太可能,因为导入同一个gem的两个版本意味着在实践中你会使用同一个类的两个版本(在这种情况下是JWT)。更好的方法是让some_other_lib
的制造商更新他们的依赖关系,或者,如果不再维护,请自行分叉和更新,然后为社区的利益推出更新版本。
编辑:有关冲突类的详细信息,请参阅Use 2 versions of gem at same time