宝石和捆绑器:在相对路径上添加显影依赖性

|| 我正在协助开发一系列相互关联的宝石。因此,我不希望他们彼此之间有严格的依赖关系,但是我希望他们在彼此使用的开发环境中运行测试。简单吧?只需在gemspec中使用
add_development_dependency
,对吗?好吧,这里有一点皱纹-git存储库包含所有gems,因此我希望Gemfile指向该gem的本地副本。这具有硬依赖性。在gemspec中,我的这一行是我的硬依赖项:
s.add_dependency \"mygem-core\"
然后在Gemfile中,有以下一行:
gem \"mygem-core\", :path => \"../mygem-core\"
这是完美的。当我推出此程序包时,以及当我进行测试时,该依赖项都将使用mygem-core的本地副本。问题是,当我将此内容放入gemspec中时:
s.add_development_dependency \"mygem-runtime\"
然后在Gemfile中:
gem \"mygem-runtime\", :path => \"../mygem-runtime\"
然后在运行bundle时出现错误:
You cannot specify the same gem twice coming from different sources. You specified that mygem-packager (>= 0) should come from source at ../mygem-packager and 
是的,这并不是最后的错字。在第二个“位置”的末尾实际上有一个空白空间。有什么聪明的方法来解决此问题?我想将此添加为开发依赖项,并使用本地源。我想念什么?     
已邀请:
        最好将.gemspec清单中的gem保留下来,然后将其放在:development组下的Gemfile中。
# Gemfile
source :rubygems
gemspec

gem \"mygem-runtime\", :path => \'../mygem-runtime\', :group => :development
    
        如果您使用Gemfile来指定宝石的本地路径,则需要将其从gemspec中删除。捆绑器将解析gemspec并添加捆绑器正在安装的依赖项,因此就像将gem指定两次一样。     

要回复问题请先登录注册