如何指定在gemspec文件相关的宝石路径?(how to specify path for dep

2019-07-30 08:11发布

我创建了一个宝石(X)和未发布。 现在,我创建另一个宝石这将增加宝石X作为这样的依赖性: -

s.add_dependency "X"

在gemspec文件。

由于宝石(X)不上rubygem或GIT中或RubyForge上,束安装命令引发错误:

找不到宝石X **

我想指定为X的路径就可以了,但是怎么样?

Answer 1:

我想我看到什么@ bor1s指着在SO张贴关于git的引用。

gemspec文件是关于依存关系发布您的宝石。 你Gemfile创建了本地的发展环境,通常是通过调用gemspec

在你的情况你gemspec应该有这个

s.add_dependency "X"

然后你Gemfile看起来像这样(确保了本地参考值后gemspec调用):

source "http://www.rubygems.org"
gemspec
gem "X", :path => "/Users/vikram/source/X"

从亚胡达·卡茨的报价博客文章gemspec和捆扎机

如果你发现你需要开发针对尚未发布的宝石(例如,Rails的开发往往对未发布的机架,阿雷尔,或邮件宝石),您可以添加在Gemfile中各行告诉捆绑在哪里可以找到宝石。 它仍然会使用在.gemspec扶养决议中所列的依赖关系,但它现在确切地知道在哪里可以找到宝石开发过程中的依赖。

source "http://www.rubygems.org"

gemspec

# if the .gemspec in this git repo doesn't match the version required by this
# gem's .gemspec, bundler will print an error
gem "rack", :git => "git://github.com/rack/rack.git"

你不会希望包括在.gemspec此信息,最终将开发中的宝石也被释放之后被释放到RubyGems的。 同样,这使得整个系统更具弹性,因为它不依赖于短暂的外部URL。 此信息是纯粹的东西用来建立发展过程中一个完整的环境,这需要一定的精度。



Answer 2:

我认为你可以从这里找到您的问题的答案: 宝石依赖

希望这将有助于。



文章来源: how to specify path for dependent gem in gemspec file?