将gem放入gemfile的危险是有人试图安装它不支持gem?

时间:2014-01-02 14:57:23

标签: ruby macos rubygems bundler gemfile

如果我的某些同事有一个旧版本的Mac OS X不支持我想要使用的gem(terminal-notifier专门用),那么将这个放入Gemfile会有危险吗? :

gem 'terminal-notifier'

有没有办法说它需要OS X 10.8或更高版本?如果有人在< 10.8尝试安装终端通知程序?我正在使用最新的操作系统,因此无法对此进行测试。

1 个答案:

答案 0 :(得分:2)

置于以下条件:

if RUBY_PLATFORM =~ /darwin/i
   version = `uname -r` =~ /^(\d+)\./ && $1.to_i
   gem 'terminal-notifier' if version >= 12
end

这应该有效。我知道,如果 10.4 uname -r 8.x 10.5,则uname -r 9。 X

或致电sw_vers app:

if RUBY_PLATFORM =~ /darwin/i
   version = `sw_vers -productVersion` =~ /^10\.(\d+)/ && $1.to_i
   gem 'terminal-notifier' if version >= 9
end

如果要计划一起运行,则必须使用rbconfig模块。

if RbConfig::CONFIG['host_os'] =~ /darwin|mac os/i
   version = `sw_vers -productVersion` =~ /^10\.(\d+)/ && $1.to_i
   gem 'terminal-notifier' if version >= 9
end