15

実行中のスクリプトが特定のバージョンの Mac OSX を実行しているかどうかを確認したいと考えています。コマンドを実行/生成できることに気付きました:

sw_vers -productVersion

node-exec-syncなしでこれを同期的に (process.arch と同様に) 行う方法はありますか? 同期的にスポーン/実行することは受け入れられている悪い習慣だと認識していますが、別の方法はありません。

4

2 に答える 2

41

次のようなOSモジュールを使用できます 。

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

次に、リリースバージョンをMacOSXの特定のバージョンにマップします。

ダーウィンからMacOSXへのマッピングはここにあります

于 2013-02-20T20:34:50.690 に答える
2

上記の 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

于 2016-11-10T05:45:30.253 に答える