how to determine whether I have 64bit or 32 bit node executable installed?
node.jsnode.js Problem Overview
On my windows pc I have nodejs installed. I would like to determine whether it is 64 bit or 32 bit. How can one determine that? I executed
node --help
but that does not seem to have any option to give me the desired information.
node.js Solutions
Solution 1 - node.js
Run this from the command line:
node -p "process.arch"
It will return 'arm'
, 'arm64'
, 'ia32'
, 'mips'
,'mipsel'
, 'ppc'
, 'ppc64'
, 's390'
, 's390x'
, 'x32'
, or 'x64'
.
Solution 2 - node.js
If node is installed and executable you can simply run
c:\> node -p "process"
and you should see the content of the process
variable formatted.
There the keys arch
and platform
indicates your operating system. In the example below it's an Windows 7 x64
{
title : 'Administrator: C:\\Windows\\System32\\cmd.exe - node ',
version : 'v0.10.36',
moduleLoadList :
[ 'Binding evals',
...
'Binding signal_wrap',
'NativeModule string_decoder'],
versions : {
http_parser : '1.0',
node : '0.10.36',
v8 : '3.14.5.9',
ares : '1.9.0-DEV',
uv : '0.10.30',
zlib : '1.2.8',
modules : '11',
openssl : '1.0.1l'
},
arch : 'x64',
platform : 'win32',
argv : ['node'],
execArgv : [],
env : {
ALLUSERSPROFILE : 'C:\\ProgramData',
HOMEDRIVE : 'C:',
JAVA_HOME : 'C:\\Program Files\\Java\\jdk1.8.0_05',
NODEJS : 'C:\\Program Files (x86)\\nodejs\\',
NUMBER_OF_PROCESSORS : '4',
OS : 'Windows_NT',
Path : 'C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;',
PATHEXT : '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY',
PROCESSOR_ARCHITECTURE : 'AMD64',
PROCESSOR_IDENTIFIER : 'Intel64 Family 6 Model 42 Stepping 7, GenuineIntel',
PROCESSOR_LEVEL : '6',
PROCESSOR_REVISION : '2a07',
ProgramData : 'C:\\ProgramData',
ProgramFiles : 'C:\\Program Files',
'ProgramFiles(x86)' : 'C:\\Program Files (x86)',
ProgramW6432 : 'C:\\Program Files',
PROMPT : '$P$G',
PUBLIC : 'C:\\Users\\Public',
PYTHON : 'C:\\Python34',
SESSIONNAME : 'Console',
SystemDrive : 'C:',
SystemRoot : 'C:\\Windows',
windir : 'C:\\Windows',
windows_tracing_flags : '3'
},
features : {
...
},
config : {
...
}
}
Solution 3 - node.js
If it's on Windows OS, just go an old-school way.. by using Windows Task Manager.
Here is my attempt:-
Simply run node
from command prompt.
This will put node into REPL mode (indicated by >
symbol).
Now open Task Manager (Ctrl+Shift+Esc) to see node.exe
process details. Mine is on Windows 10 64-bit with node 32-bit installed. Make sure you enable 'Platform' column to see 32-bit/64-bit information.
Solution 4 - node.js
in mac
$ node
> require('os').arch()
in windows
c:\> node
> require('os').arch()
Solution 5 - node.js
Well the way I am suggesting is not at all a good way . You can go over to C: then go to Program Files and search nodejs folder there . If it is found then you are running 64 bit version else check on Program Files (x86) . If it is found there then you are running 32 bit version.
Solution 6 - node.js
This likely doesn't directly solve your problem, as I don't know the best way to get the same behavior on Windows, but using the file
command on a Unix or Linux system will tell you the processor architecture of an executable:
$ file `which node`
/usr/local/bin/node: Mach-O 64-bit executable x86_64
If you have Cygwin installed, I'm pretty sure that it provides a file
command, or else you could check online for similar programs that work on Windows.
Solution 7 - node.js
Just start node interpreter by running node
. then in that, process.env
gives a json with all the information you require. My try has a PROCESSOR_ARCHITECTURE: 'AMD64'
entry in that.
I also find
ProgramFiles: 'C:\\Program Files', 'ProgramFiles(x86)': 'C:\\Program Files (x86)'
ProgramW6432: 'C:\\Program Files'
Solution 8 - node.js
Enter the node REPL using the 'node' command.
The prompt will change to >
Then use the following to get the desired info-
- require('process').arch ==> this will give the node architecture version.
- require('process').platform ==> this will give the architecture of the compilation platform
- require('process').release and require('process').release.libUrl ==> also gives information about the version and achitecture
- require('process').config.variables.host_arch ==> this will also give the node architecture version.