繁体   English   中英

我可以在gemfile中强制gem的依赖吗?

[英]Can I force a gem's dependencies in gemfile?

如果有两个宝石, AB A1.0.0取决于B1.0.0

在我的Gemfile中:

gem 'A', '~> 1.0.0'

然后运行bundle 它将生成一个Gemfile.lock,如:

A (1.0.0)
  B (1.0.0)

但如果我想强制A使用B1.0.1 ,那么最佳做法是什么? 此外,如果B1.0.1不是发布而是github标签?

您需要在Gemfile中明确指定B gem以使用git存储库或其他版本。 只要A 1.0.0与B 1.0.1兼容,你就可以了。 如果它只与B 1.0.0兼容,那么你将不得不创建自己的A gem分叉并升级gemspec以与B 1.0.1兼容,然后使用该存储库作为A的宝石而不是rubygems版。

这是一个示例Gemfile,可以为您提供所需的内容,前提是A 1.0.0与B 1.0.1兼容。

gem 'B', :git => 'git://github.com/B/B.git', :tag => '1.0.1'
gem 'A', '~> 1.0.0'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM