[英]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.