我有git-forked两个宝石(比如foo和bar),一个取决于另一个:
foo.gemspec
...
s.add_dependency "bar"
Run Code Online (Sandbox Code Playgroud)
我希望我的叉子FOO依赖于我的叉杆,而不是原来的酒吧宝石.
但是这不起作用:
s.add_dependency "bar", git: 'git:github.com/vemv/bar.git' # => ArgumentError!
Run Code Online (Sandbox Code Playgroud)
如何在.gemspec文件中指定依赖项的来源?
如果不可能,该怎么做?
pho*_*oet 11
不,在.gemspec文件中无法执行此操作.
我认为你指的是Bundler git功能,因为语法看起来一样.
因此,对于forked gem的开发,您必须在Gemfile中设置依赖项并将其从.gemspec文件中删除.
我假设您正在使用第3个申请,而您在问题中没有提到.我认为最简单的解决方案是使用Bundler :path功能直接引用两个gems.除非您使用应用程序提供宝石,否则这将无法在您希望部署它的情况下运行.
总的来说,这是一个棘手的事情.特别是如果你只想修复第三方库中的依赖项或任何其他小事.Bundler在这方面并不灵活.