【问题标题】:Specify git path in gemspec add_dependency entry在 gemspec add_dependency 条目中指定 git 路径
【发布时间】:2013-10-21 12:18:05
【问题描述】:

我有两个 gem(比如 foobar),一个依赖于另一个:

foo.gemspec

...
s.add_dependency "bar"

我希望我的 foo 分支依赖于我的 bar 分支,而不是原始 bar gem。

但这不起作用:

s.add_dependency "bar", git: 'git:github.com/vemv/bar.git' # => ArgumentError!

如何在 .gemspec 文件中指定依赖的来源?

如果不可能,该怎么做?

【问题讨论】:

    标签: gem bundler


    【解决方案1】:

    不,不可能在 .gemspec 文件中执行此操作。

    我认为您指的是 Bundler git 功能,因为语法看起来相同。

    因此,为了开发您的分叉 gem,您必须在 Gemfile 中设置依赖项并将其从 .gemspec 文件中删除。

    我假设您同时使用了第三个应用程序,而您在问题中并未提及。我认为最简单的解决方案是使用 Bundler :path 功能直接引用这两个 gem。这在您想要部署它的情况下不起作用,除非您在应用中提供 gems。

    总的来说,这是一件棘手的事情。特别是如果您只想修复 3rd 方库中的依赖项或任何其他小问题。 Bundler 在这方面并不灵活。

    【讨论】:

    • 感谢您的澄清。现在我尝试在调用 gemspec 之前添加对 Gemfile 的 git 依赖项。但它不起作用 - 当我依赖生成的 gem 时,我得到一个 LoadError。这意味着获取了 git 依赖项,但不是必需的......
    • 你把那个东西放在你的 Gemfile 中的哪个位置并不重要。您必须在 lib 中使用它或调用 Bundle.setup 从文件中加载依赖项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    • 2013-08-30
    • 2012-07-17
    • 2016-03-13
    相关资源
    最近更新 更多