如何在Ruby上获得特定的操作系统版本?

时间:2016-09-30 11:24:58

标签: ruby rubygems

我很清楚您可以使用os gem检查当前的操作系统。但我没有找到的是如何获得特定的操作系统版本。例如,如果我在Windows 8.1上运行Ruby项目,我希望打印Windows 8.1而不是Windows。

2 个答案:

答案 0 :(得分:0)

我已经看过OS gem的规格,不幸的是我无法找到这样的方法或属性。

一种替代方案:您可以执行自己的系统调用(通过可卡因宝石):

  1. 在linux上,您可以通过lsb-release或其他方法找到
  2. on OSX:sw_vers -productVersion
  3. 在Windows ver上通过命令。
  4. 也许你可以尝试将它添加到gem本身创建一个新的PR?

答案 1 :(得分:0)

尝试使用gem sys-uname:https://rubygems.org/gems/sys-uname

require 'sys/uname'
include Sys

class Test
  puts Uname.uname
end

这是输出:

.....,build_number =" 7601",build_type =" Multiprocessor Free",caption =" Microsoft Windows 7 Professional",code_set =& #34; 1252",country_code =" 1",creation_class_name =" Win32_OperatingSystem",cscreation_class_name =" Win32_ComputerSystem",csd_version =" Service Pack 1& #34;,...

加上其他细节