我有 git-fork 两个 gem(比如foo和bar),一个取决于另一个:
foo.gemspec
...
s.add_dependency "bar"
我希望我的foo叉子依赖于我的bar叉子,而不是原始的bar gem。
然而这不起作用:
s.add_dependency "bar", git: 'git:github.com/vemv/bar.git' # => ArgumentError!
如何在 .gemspec 文件中指定依赖项的来源?
如果不可能,该怎么办?
不,不可能在 .gemspec 文件中执行此操作。
我认为您指的是 Bundler git 功能,因为语法看起来相同。
因此,为了开发您的分叉 gem,您必须在 Gemfile 中设置依赖项并将其从 .gemspec 文件中删除。
我假设您同时使用了第三个应用程序,您在问题中没有提到。我认为最简单的解决方案是使用 Bundler:path功能直接引用这两个 gem。这在您想要部署它的情况下不起作用,除非您在应用程序中提供 gems。
总的来说,这是一件棘手的事情。特别是如果您只想修复 3rd 方库中的依赖项或任何其他小问题。Bundler 在这方面并不灵活。