【发布时间】:2012-08-05 17:39:32
【问题描述】:
我正在使用一个 ruby 项目,它由一个主要的 gem(我们称之为 SuperGem)和几个它所依赖的较小的 gem 组成。该项目在 Github 上,我已经分叉了它并正在维护我自己的版本(称为 SuperGemFork)。当 SuperGem 更新时,我只需要拉取和合并新代码,然后在 SuperGemFork 上更新版本号。
现在情况是这样。我还想制作我自己版本的依赖项之一(我们称之为 SmallGem)。所以现在我希望 SuperGemFork 依赖于 SmallGemFork 而不是 SmallGem。因此,当 SuperGem 和 SmallGem 都更新时,我现在必须将两个 gem 中的代码提取并合并到我的 fork 中,更新版本号,并将 SuperGemFork 中的依赖关系更改为依赖于 SmallGemFork 的新版本。
我遇到的问题是必须更改 SuperGemFork 中的依赖项。当 SuperGem(原版)更新时,它现在依赖于 SmallGem 的新版本。但是,如果我从两个 gem 中提取并合并代码,然后忘记更新依赖项,则 SuperGemFork 仍然依赖于 SmallGemFork 的旧版本,即使有新版本可用。必须更改依赖项是多余且容易出错的,我希望至少在我运行 bundle install 或启动应用程序时会失败。
那么,有没有一种好方法可以让我轻松维护自己的 gem 分支,这些分支之间存在依赖关系?
谢谢, 亚历克斯
【问题讨论】:
标签: ruby gem dependencies fork bundler