![](/img/trans.png)
[英]Best way to describe the script dependencies in a Ruby Gem - where should I require?
[英]Should I choose gem dependencies by OS platform?
我正在創建一個gem,它將使用rbappscript
gem在Mac OS X上提供其他功能。
強迫其他平台的用戶安裝該依賴關系不是一個好主意,我甚至不確定它是否會完全安裝。 因此,是否可以基於平台自定義要依賴的寶石,這不會造成問題嗎?
如果是可選的,則不是依賴項。 只是不要這樣聲明。
在您的文檔中添加一條注釋,通知您如果檢測到rbappscript
,則可以使用其他功能。
然后,在您的代碼中,您只需檢查該庫的可用性。 即使您的用戶在Mac上運行,他也可以出於任何給定原因(例如,在多個平台上的可預測行為)選擇不加載此功能。
您可以在聲明依賴項的地方使用RUBY_PLATFORM常量
# only on OSX
if RUBY_PLATFORM =~ /darwin/i
gem 'rbappscript'
end
# Only JRUBY
if defined? JRUBY_VERSION
gem 'something_for_jruby'
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.