programing

Node.js로 현재 운영 체제를 확인하는 방법

starjava 2023. 5. 27. 09:16
반응형

Node.js로 현재 운영 체제를 확인하는 방법

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

사용할 변수는 다음과 같습니다.

Mac에서 변수는 다음과 같이 설정됩니다.darwinWindows에서는 다음과 같이 설정됩니다.win32(64비트에서도).

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

  • aix
  • darwin
  • freebsd
  • linux
  • openbsd
  • sunos
  • win32
  • android(링크에 따른 실험)

jake 파일의 맨 위에 설정했습니다.

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.플랫폼 »

운영 체제 플랫폼을 반환합니다.가능한 값은 '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")
}

저는 잘 작동합니다.

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

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

64비트 창에서 32비트 노드를 사용할 때(노드 웹킷 또는 원자 셸 개발자 등) process.platform은 win32를 반향시킵니다.

사용하다

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

(자세한 내용은 여기에서 확인)

Mac 시스템에서 윈도우즈 VM에서 노드 js 코드를 실행하는 것과 동일한 문제에 직면했습니다.다음 코드가 효과를 발휘했습니다.

교체하다

process.platform == 'win32'

와 함께

constos = required ('os';

os.platform(플랫폼) == 'win32';

var isWin64 = process.env.hasOwnProperty('ProgramFiles(x86)');
const path = require('path');

if (path.sep === "\\") {
console.log("Windows");
} else {
console.log("Not Windows");
}

언급URL : https://stackoverflow.com/questions/8683895/how-do-i-determine-the-current-operating-system-with-node-js

반응형