簡體   English   中英

我應該通過OS平台選擇gem依賴嗎?

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

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