jas*_*nac 19 ruby rubygems bundler
我正在帮助开发一系列相互关联的宝石.因此,我不希望它们彼此之间存在硬依赖关系,但我确实希望它们在开发中运行彼此使用的测试.简单吧?只需add_development_dependency
在gemspec中使用吧?好吧,有一点点皱纹 - git存储库包含所有的gem,所以我希望Gemfile指向gem的本地副本.这与硬依赖有关.在gemspec中,我有这条线用于我的硬依赖:
s.add_dependency "mygem-core"
Run Code Online (Sandbox Code Playgroud)
然后在Gemfile中,我有这一行:
gem "mygem-core", :path => "../mygem-core"
Run Code Online (Sandbox Code Playgroud)
这完美.当我推出这个包时,存在依赖性,当我测试时,它将使用mygem-core的本地副本.问题是当我把它放在gemspec中时:
s.add_development_dependency "mygem-runtime"
Run Code Online (Sandbox Code Playgroud)
然后在Gemfile中:
gem "mygem-runtime", :path => "../mygem-runtime"
Run Code Online (Sandbox Code Playgroud)
然后我运行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
Run Code Online (Sandbox Code Playgroud)
是的,这不是最后的错字.第二个"位置"的末端实际上有一个空白的空白空间.有没有聪明的方法可以解决这个问题?我想将此添加为开发依赖项,并使用本地源.我错过了什么?
将gem留在.gemspec清单中并将其放在:development组下的Gemfile中可能更好.
# Gemfile
source :rubygems
gemspec
gem "mygem-runtime", :path => '../mygem-runtime', :group => :development
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5649 次 |
最近记录: |