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