Recentemente, descobri que precisava determinar se um aplicativo node.js está sendo executado no Windows de 64 bits. Se o seu tempo de execução nó é de 64 bits, então é tudo muito simples, process.arch
será x64
. Meu caso particular, no entanto, é um aplicativo node-webkit , usando o binário pré-construído, que é de 32 bits, portanto, é executado por meio do WoW64 e process.arch
é ia32
.
A maneira de saber, neste caso, é por meio da variável de ambiente PROCESSOR_ARCHITEW6432
(acessível por meio de process.env
), que será AMD64
quando o processo estiver em execução no WoW64 em uma instalação do Windows de 64 bits, e ausente caso contrário. Basicamente, em código, você escolheria algo como
function isOSWin64() {
return process.arch === 'x64' || process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432');
}