>  기사  >  웹 프론트엔드  >  Node.js를 사용하여 운영 체제와 버전 번호를 확인하는 방법

Node.js를 사용하여 운영 체제와 버전 번호를 확인하는 방법

青灯夜游
青灯夜游앞으로
2021-09-06 10:27:094705검색

운영 체제와 버전 번호를 확인하기 위해 Node.js를 사용하는 방법은 무엇입니까? 다음 문서에서는 Node.js에서 운영 체제를 확인하고 Windows 및 Mac 시스템의 Node.js 버전 번호를 얻는 방법을 소개합니다.

Node.js를 사용하여 운영 체제와 버전 번호를 확인하는 방법

운영 체제 가져오기

Node.js에서 운영 체제를 확인하는 것은 매우 간단합니다. process.platformprocess.platform 即可返回标识操作系统平台的字符串,可能的值为:

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

除了这种方法,还可以使用 os 模块的 os.platform() 方法获取,得到的结果是一样的。【推荐学习:《nodejs 教程》】

获取 Windows 系统版本号

知道操作系统之后,我们还希望获取其版本号,例如如果用户是 windows,我想知道他是用的 win7 还是 win10 呀,这个时候应该怎么办呢?还是要用到 os 模块的 os.release() 方法获取,得到的格式如下:

10.0.18363

格式是 major.minor.build,各版本的对应关系如下:

 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

更详细的介绍,可参考官方文档。这里给出一个如何判断 win7 或 win7 及以下的代码:

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')

获取 Mac 系统版本号

但在 Mac 上,os.release() 得到的结果就不准了,比如我 Mac 版本是 11.1,但是 os.release() 返回的是 20.2.0,如果 Mac 版本是 11.5,返回的却是 20.5.0을 사용하여 운영 체제 플랫폼을 식별하는 문자열을 반환합니다. 아마도 값은 다음과 같습니다:

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

이 메서드 외에도 osos.platform() 메서드를 사용할 수도 있습니다. /code> 모듈을 사용하여 얻은 결과는 동일합니다. [추천학습: "nodejs tutorial

"]

Windows 시스템 버전 번호 확인

운영 체제를 알고 나면 버전 번호도 확인하고 싶습니다. 예를 들어 사용자가 Windows라면 Windows를 사용하고 있는지 알고 싶습니다. win7 또는 win10 이때 어떻게 해야 합니까? 이를 얻으려면 os 모듈의 os.release() 메서드를 사용해야 합니다. 획득된 형식은 다음과 같습니다.

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

형식은 입니다. major.minor.build, 각 버전 간의 대응 관계는 다음과 같습니다.

$ sw_vers -productVersion
11.4
자세한 소개는 공식 문서

. 다음은 win7 또는 win7 이하를 확인하는 방법에 대한 코드입니다. 🎜
const { execSync } = require('child_process')
const macVersion = execSync('sw_vers -productVersion', { encoding: 'utf-8' })

🎜Mac 시스템 버전 번호 가져오기🎜🎜🎜그러나 Mac에서는 os.release() 얻은 결과가 정확하지 않습니다. 예를 들어 내 Mac 버전은 11.1이지만 Mac 버전이 11.5인 경우 os.release()20.2.0을 반환합니다. , 그러나 반환된 값은 20.5.0이므로 이 방법으로는 얻을 수 없습니다. 그러나 Mac에는 sw_vers 명령이 있습니다. 터미널에서 실행하면 결과는 다음과 같습니다. 🎜rrreee🎜 ProductVersion 행에 정확한 버전 번호가 표시되는 것을 볼 수 있으며 다음 명령으로 추출할 수 있습니다. 🎜 rrreee🎜이때 다음과 같은 코드가 나옵니다. 🎜rrreee🎜Mac 버전 번호 대응은 🎜공식 문서🎜를 참고하세요. 🎜🎜더 많은 프로그래밍 관련 지식을 보려면 🎜프로그래밍 소개🎜를 방문하세요! ! 🎜

위 내용은 Node.js를 사용하여 운영 체제와 버전 번호를 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제