Home >Web Front-end >JS Tutorial >How to use Node.js to check the operating system and its version number

How to use Node.js to check the operating system and its version number

青灯夜游
青灯夜游forward
2021-09-06 10:27:094752browse

How to use Node.js to check the operating system and its version number? The following article will introduce to you how to determine the operating system and obtain the Node.js version number of Windows and Mac systems in Node.js.

How to use Node.js to check the operating system and its version number

Get the operating system

It is very simple to determine the operating system in Node.js, use process.platform returns a string identifying the operating system platform. Possible values ​​are:

  • aix
  • darwin
  • freebsd
  • linux
  • openbsd
  • sunos
  • win32

In addition to this method, you can also use the os of the os module. platform() method, the result is the same. [Recommended learning: "nodejs Tutorial"]

Get the Windows system version number

After knowing the operating system, we also want to get its version number For example, if the user is windows, I want to know whether he is using win7 or win10. What should I do at this time? You still need to use the os.release() method of the os module to obtain it. The obtained format is as follows:

10.0.18363

The format is major.minor.build, the corresponding relationship between each version is as follows:

 Version                                    major.minor   
------------------------------------------ ------------- 
 Windows 10, Windows Server 2016            10.0
 Windows 8.1, Windows Server 2012 R2        6.3
 Windows 8, Windows Server 2012             6.2
 Windows 7, Windows Server 2008 R2          6.1
 Windows Vista, Windows Server 2008         6.0
 Windows XP Professional x64 Edition,       5.2
 Windows Server 2003, Windows Home Server
 Windows XP                                 5.1
 Windows 2000                               5.0

For a more detailed introduction, please refer to the official document. Here is a code on how to determine win7 or win7 and below:

const os = require('os')
const semver = require('semver')
const platform = os.platform()
const isWindows = platform === 'win32'
const release = os.release()
const isWin7 = isWindows && release.startsWith('6.1')
const win7orOlder = isWindows && semver.lte('6.1')

Get the Mac system version number

But on Mac, os.release( ) The result obtained is inaccurate. For example, my Mac version is 11.1, but os.release() returns 20.2.0. If the Mac version is 11.5, What is returned is 20.5.0, so it cannot be obtained using this method. However, there is a command sw_vers on Mac. When we run it in the terminal, the result is as follows:

$ sw_vers
ProductName:	macOS
ProductVersion:	11.4
BuildVersion:	20F71

You can see that the ProductVersion line shows the exact version number, which can be extracted with the following command:

$ sw_vers -productVersion
11.4

At this point, the code comes out:

const { execSync } = require('child_process')
const macVersion = execSync('sw_vers -productVersion', { encoding: 'utf-8' })

For the version number correspondence on Mac, please refer to Official Documents.

For more programming-related knowledge, please visit: Introduction to Programming! !

The above is the detailed content of How to use Node.js to check the operating system and its version number. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:juejin.cn. If there is any infringement, please contact admin@php.cn delete