[英]rubygems / add runtime dependency only for test (or any given env)
当前正在开发可扩展规范功能的gem(它需要factory_bot
),如何仅在add_runtime_dependency中为相关组(此处为:test
)定义它?
或者,如果用户未在项目中添加相关的依赖项,让gem升高是更好的做法吗?
如果您的gem具有运行时依赖项,则应在gemspec中列出它,这是使Bundler进行依赖项解析以查看您的gem是否与Gemfile中的其他gem兼容的原因。
最终用户可以将自己的宝石放入Gemfile中的组中。 如果他们将其放在:test
组中,它将仅在测试环境中加载。 如果他们没有阅读自述文件并将其放在主要组中,那么这不是您的问题。
Gem::Specification.new do |s|
# ...
s.add_dependency 'factory_bot', version
# ...
end
请注意,您还可以在gemspec中列出开发依赖项。
Gem::Specification.new do |s|
# ...
s.add_development_dependency 'rubocop', '~> 0.44.1'
end
这些依赖关系将在开发/测试gem本身时使用,但在通过捆绑程序安装gem时不会“传递”。
如果用户未在项目中添加相关的依赖项,让gem升起是更好的做法吗?
第红宝石已经有一个很好的依赖解析器(捆扎机)。 用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.