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.
If node is installed and executable you can simply run
c:\> node
> 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 : {
...
}
}
in mac
$ node
> require('os').arch()
in windows
c:\> node
> require('os').arch()
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.
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'
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.
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.
C:\> node
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.