Node.jsで現在のOSを特定する方法 - process.envオブジェクトを使う
Node.jsで現在のオペレーティングシステムを特定する方法
os モジュールを使う
Node.js には、OS に関する情報を取得するための os
モジュールが組み込まれています。 このモジュールを使う方法は以下の通りです。
const os = require('os');
// OS の種類を取得
const platform = os.platform();
// CPU アーキテクチャを取得
const arch = os.arch();
// 使用可能な CPU の数
const cpus = os.cpus().length;
console.log(`プラットフォーム: ${platform}`);
console.log(`アーキテクチャ: ${arch}`);
console.log(`CPU 数: ${cpus}`);
このコードを実行すると、以下のような出力が得られます。
プラットフォーム: linux
アーキテクチャ: x64
CPU 数: 4
process.env
オブジェクトには、環境に関するさまざまな情報が含まれています。
// OS の種類を取得
const platform = process.env.OS;
// CPU アーキテクチャを取得
const arch = process.env.PROCESSOR_ARCHITECTURE;
console.log(`プラットフォーム: ${platform}`);
console.log(`アーキテクチャ: ${arch}`);
このコードを実行すると、os
モジュールを使う場合と同様の出力が得られます。
サードパーティライブラリを使う
os
モジュールや process.env
オブジェクト以外にも、OS に関する情報を取得するためのサードパーティライブラリがいくつかあります。 例えば、以下のようなライブラリがあります。
これらのライブラリを使うことで、os
モジュールや process.env
オブジェクトでは取得できないような、より詳細な情報を取得することができます。
Node.jsで現在のOS を特定するには、いくつかの方法があります。 上記で紹介した方法の中から、自分の目的に合った方法を選択してください。
os モジュールを使う
const os = require('os');
// OS の種類を取得
const platform = os.platform();
// CPU アーキテクチャを取得
const arch = os.arch();
// 使用可能な CPU の数
const cpus = os.cpus().length;
console.log(`プラットフォーム: ${platform}`);
console.log(`アーキテクチャ: ${arch}`);
console.log(`CPU 数: ${cpus}`);
process.env オブジェクトを使う
// OS の種類を取得
const platform = process.env.OS;
// CPU アーキテクチャを取得
const arch = process.env.PROCESSOR_ARCHITECTURE;
console.log(`プラットフォーム: ${platform}`);
console.log(`アーキテクチャ: ${arch}`);
サードパーティライブラリを使う
const os = require('node-os');
// OS の種類を取得
const platform = os.platform();
// CPU アーキテクチャを取得
const arch = os.arch();
// 使用可能な CPU の数
const cpus = os.cpus().length;
console.log(`プラットフォーム: ${platform}`);
console.log(`アーキテクチャ: ${arch}`);
console.log(`CPU 数: ${cpus}`);
platform ライブラリを使う例
const platform = require('platform');
// OS の種類を取得
const os = platform.os;
// CPU アーキテクチャを取得
const arch = platform.arch;
console.log(`プラットフォーム: ${os}`);
console.log(`アーキテクチャ: ${arch}`);
systeminformation ライブラリを使う例
const si = require('systeminformation');
// OS の種類を取得
si.osInfo((data) => {
const platform = data.platform;
console.log(`プラットフォーム: ${platform}`);
});
// CPU アーキテクチャを取得
si.cpu((data) => {
const arch = data.cpu_architecture;
console.log(`アーキテクチャ: ${arch}`);
});
これらのコードはあくまでもサンプルです。 実際の使用例に合わせて、コードを修正してください。
Node.jsで現在のオペレーティングシステムを特定する方法
uname コマンドを使う
$ uname -s
このコマンドを実行すると、OS の種類が表示されます。
/etc/os-release
ファイルには、OS に関する情報が記述されています。
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="22.04 LTS"
ID="ubuntu"
ID_LIKE="debian"
PRETTY_NAME="Ubuntu 22.04 LTS Jammy Jellyfish"
VERSION_ID="22.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/privacy-policy"
VERSION_CODENAME="jammy"
特定のOS に依存した方法を使う
特定のOS でのみ使用できる方法もあります。 例えば、Windows では以下の方法を使うことができます。
$ wmic os get Caption
注意事項
上記で紹介した方法は、すべてUnix 系 OS で動作します。 Windows では、一部の方法が動作しない可能性があります。
node.js