[node.js] Node.js로 현재 운영 체제를 어떻게 확인합니까?

플랫폼에서 개발할 때 사용할 몇 가지 노드 셸 스크립트를 작성 중입니다. 우리는 Mac과 Windows 개발자가 있습니다. 한 인스턴스에서 .sh 파일을 실행하고 다른 인스턴스에서 .bat를 실행하기 위해 Node에서 확인할 수있는 변수가 있습니까?



답변

사용할 변수는 process.platform

Mac에서는 변수가를 반환합니다 darwin. Windows에서는 win3264 비트에서도 반환 됩니다.

현재 가능한 값 은 다음과 같습니다.

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

방금 jakeFile 상단에 이것을 설정했습니다.

var isWin = process.platform === "win32";


답변

Node.js v6 이상에는 os다양한 운영 체제 관련 유틸리티 방법을 제공하는 전용 모듈이 있습니다.

내 Windows 10 컴퓨터에서 다음을보고합니다.

var os = require('os');

console.log(os.type()); // "Windows_NT"
console.log(os.release()); // "10.0.14393"
console.log(os.platform()); // "win32"

https://nodejs.org/api/os.html#os_os_type 에서 전체 문서를 읽을 수 있습니다.


답변

Node.js의 OS 기본 모듈을 찾고 있습니다.

v4 : https://nodejs.org/dist/latest-v4.x/docs/api/os.html#os_os_platform

또는 v5 : https://nodejs.org/dist/latest-v5.x/docs/api/os.html#os_os_platform

os.platform ()

운영 체제 플랫폼을 반환합니다. 가능한 값은 ‘darwin’, ‘freebsd’, ‘linux’, ‘sunos’또는 ‘win32’입니다. process.platform의 값을 리턴합니다.


답변

방법

var opsys = process.platform;
if (opsys == "darwin") {
    opsys = "MacOS";
} else if (opsys == "win32" || opsys == "win64") {
    opsys = "Windows";
} else if (opsys == "linux") {
    opsys = "Linux";
}
console.log(opsys) // I don't know what linux is.

OS

const os = require("os"); // Comes with node.js
console.log(os.type());


답변

이것은 나를 위해 잘 작동

var osvar = process.platform;

if (osvar == 'darwin') {
    console.log("you are on a mac os");
}else if(osvar == 'win32'){
    console.log("you are on a windows os")
}else{
    console.log("unknown os")
}


답변

64 비트 창에서 32 비트 노드를 사용하는 경우 (예 : node-webkit 또는 atom-shell 개발자) process.platform이 win32를 에코합니다

사용하다

    function isOSWin64() {
      return process.arch === 'x64' || process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432');
    }

( 자세한 내용은 여기 를 확인 하십시오 )


답변

나를 위해 잘 작동

if (/^win/i.test(process.platform)) {
    // TODO: Windows
} else {
    // TODO: Linux, Mac or something else
}

i 수정자는 대소 문자를 구분하지 않는 일치를 수행하는 데 사용됩니다.