繁体   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