繁体   English   中英

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

[英]Node.js to get/determine OS version

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

sw_vers -productVersion

有没有办法在没有node-exec-sync 的情况下同步执行此操作(类似于 process.arch)? 我意识到同步生成/执行是一种公认​​的坏习惯,但我没有看到另一种方式。

你可以像这样使用OS 模块

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

然后将发布版本映射到特定版本的 Mac OS X。

Darwin 到 Mac OS X 的映射可以在这里找到

正如上面在 AndyD 的回答评论中提到的, os.release()返回内核版本。 如果您想获得用户在“关于此 Mac”UI 中看到的相同版本号,您可以读取并解析/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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM