Node.js获取/确定操作系统版本

我想确定一些正在执行的脚本是否正在运行特定版本的Mac OSX。 我意识到我可以执行/产生命令:

sw_vers -productVersion 

有没有办法做到这一点同步(类似于process.arch)没有node-exec-sync ? 我意识到它是一个可以同时产生/执行的坏习惯,但我没有看到另一种方式。

你可以像这样使用OS模块 :

 var os = require('os'); os.platform(); // 'darwin' os.release(); //'10.8.0' 

然后将发行版本映射到特定版本的Mac OS X.

达尔文到Mac OS X的映射可以在这里find

如上面在AndyD的回答中所提到的, os.release()返回内核版本。 如果您想获得用户在“关于本Mac”UI中看到的相同版本号,则可以读取并parsing出/System/Library/CoreServices/SystemVersion.plist ,如下所示:

 const plist = require('plist'); let versionInfo = plist.parseFileSync('/System/Library/CoreServices/SystemVersion.plist'); console.log(JSON.stringify(versionInfo)); 

https://github.com/kevinsawicki/node-plist