cpu-arch

Detect CPU architecture (handles WoW64, Rosetta 2, ARM64)

MIT 13 个版本
安装
npm install cpu-arch
yarn add cpu-arch
pnpm add cpu-arch
bun add cpu-arch
README

cpu-arch

Detect CPU architecture (not process architecture).

Handles emulation scenarios where process.arch returns the wrong value:

  • Windows WoW64: 32-bit Node on 64-bit Windows → returns x64
  • macOS Rosetta 2: x64 Node on Apple Silicon → returns arm64
  • Windows ARM64: Any Node on ARM Windows → returns arm64

Installation

npm install cpu-arch

Usage

const cpuArch = require('cpu-arch');

console.log(cpuArch());
// => 'x64', 'arm64', 'ia32', 'arm', etc.

Why Not process.arch?

process.arch returns the architecture of the Node.js binary, not the CPU:

Scenario process.arch cpuArch()
32-bit Node on 64-bit Windows ia32 x64
x64 Node on Apple Silicon (Rosetta) x64 arm64
Native arm64 Node on Apple Silicon arm64 arm64

This matters when selecting native binaries (e.g., @swc/core, Node.js downloads).

Return Values

Value Description
x64 64-bit Intel/AMD
arm64 64-bit ARM (Apple Silicon, ARM64 Windows/Linux)
ia32 32-bit Intel/AMD
arm 32-bit ARM
ia64 Intel Itanium
Other Raw uname -m output (ppc64, s390x, etc.)

Platform Detection Methods

Platform Method
Windows PROCESSOR_ARCHITEW6432 / PROCESSOR_ARCHITECTURE env vars
macOS sysctl -in sysctl.proc_translated for Rosetta detection
Linux uname -m

License

MIT

版本列表
1.1.3 2026-05-26
1.1.2 2025-12-26
1.1.1 2025-12-23
1.1.0 2025-12-19
1.0.8 2025-12-12
1.0.7 2025-12-12
1.0.6 2025-12-12
1.0.5 2025-12-12
1.0.4 2025-12-04
1.0.3 2025-12-04
1.0.2 2025-12-03
1.0.1 2025-12-03
0.1.0 2025-11-28