簡體   English   中英

rubygems /添加運行時依賴項僅用於測試(或任何給定的環境)

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM