强制红宝石宝石使用替代宝石来源

时间:2018-05-09 14:32:47

标签: ruby rubygems

我有一个宝石,我是其中一个所有者/作者(hyperloop)依赖于另一个宝石(opal-rails)依赖于另一个宝石(opal-jquery)。

所有宝石都依赖于宝石opal。问题是当前发布的opal-query版本被锁定到较早版本的opal gem。

master上的opal-jquery版本没问题。无论出于何种原因,作者都没有推过红宝石,所以我必须解决这个问题。

解决方法是我必须说

gem 'hyperloop'
gem "opal-jquery", git: "https://github.com/opal/opal-jquery.git", branch: "master"

在应用程序Gemfile中。

我希望有人可以提供一个可以嵌入hyperloop gemspec的解决方法,以便解决问题。

我想如果我添加了

gem "opal-jquery", git: "https://github.com/opal/opal-jquery.git", branch: "master"

hyperloop Gemfile这会照顾它,但显然不是。

1 个答案:

答案 0 :(得分:4)

管理依赖项的依赖关系并不是一种真正的方法。这里有2个选项:

1)使用较旧版本的蛋白石 2)克隆opal-jquery gem并修改它的Gemfile,指向你想要它使用的蛋白石版本,然后,在你的Gemfile中,指出opal-jquery gem从你克隆版本的repo中拉出来

如果您决定升级到较新版本的opal-jquery,如果您选择使用第二条路线,那么这些都不是非常理想的并且您会遇到问题