2013-02-18 107 views
3

我有一个宝石A,它依赖于宝石B.这两个宝石都是我自己的宝石,目前正在私人开发中。我没有计划将这些发布到rubygems。如何开发宝石,其中一个依赖于另一个

我想在我的rails应用程序中使用gem A.

问题是,当我尝试为我的Rails应用程序运行bundle install时,出现此错误。

找不到宝石 'B(> = 0)红宝石',这是由宝石 'A(> = 0) 红宝石' 需要,在任何的来源。

在我的Rails应用程序在我的Gemfile我有

gem 'A', :path => "/path/to/A' 

在创业板的gemspec我有

gem.add_dependency 'B' 

,并在A的Gemfile中我明确地设置B的位置,像这样

gem 'omusubi', :path => "path/to/B' 

上面的配置似乎没有工作,当我tr Ÿ运行我的Rails应用程序。

但是,当我运行每个宝石的测试套件时,它们都会传递正常。

我相信问题是当我运行rails应用程序和bundler加载依赖项A时,它只查看A的gemspec,完全忽略gem文件。这可能是有意的。 那么如何让我的代码在不需要在这个开发阶段发布我的私人宝石的情况下工作。

回答

1

一种可能性是使用:path选项在应用程序的Gemfile中对B进行硬依赖。 Bundler应该在这种情况下正确解决它。

+0

谢谢这工作的一种享受! – robodisco 2013-02-19 12:54:19

相关问题