Home > Web Front-end > JS Tutorial > body text

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

青灯夜游
Release: 2021-09-13 09:25:28
forward
4694 people have browsed it

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
Copy after login

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
Copy after login

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')
Copy after login

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
Copy after login

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
Copy after login

At this point, the code comes out:

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

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!

Related labels:
source:juejin.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!