如何确定我是否安装了64位或32位节点可执行文件?

时间:2014-07-25 13:18:03

标签: node.js

在我的Windows PC上安装了nodejs。我想确定它是64位还是32位。怎么能确定呢?我执行了

node --help

但似乎没有任何选择可以提供所需的信息。

8 个答案:

答案 0 :(得分:78)

从命令行运行:

node -p "process.arch"

它将返回'arm','ia32'或'x64'。

答案 1 :(得分:57)

如果已安装并可执行节点,则只需运行

即可
c:\> node -p "process"    

您应该看到格式化process变量的内容。 密钥archplatform表示您的操作系统。在下面的示例中,它是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 : {
        ...
    }
}

答案 2 :(得分:27)

如果是在Windows操作系统上,只需使用 Windows任务管理器,就可以采用老派的方式。

这是我的尝试: -

只需从命令提示符运行node

C:\> node

这会将节点置于REPL模式(由>符号表示)。 现在打开任务管理器(Ctrl + Shift + Esc)以查看node.exe进程详细信息。我的Windows是64位,安装了32位节点。确保启用“平台”列以查看32位/ 64位信息。

enter image description here

答案 3 :(得分:22)

在mac

$ node
 > require('os').arch()
Windows中的

c:\> node
> require('os').arch()

答案 4 :(得分:4)

我所建议的方式并不是一个好方法。您可以转到C:然后转到Program Files并在那里搜索nodejs文件夹。如果找到,那么您正在运行64位版本,请检查Program Files(x86)。如果在那里找到它,那么你正在运行32位版本。

答案 5 :(得分:1)

这可能不会直接解决您的问题,因为我不知道在Windows上获得相同行为的最佳方法,但在Unix或Linux系统上使用file命令会告诉您处理器可执行文件的体系结构:

$ file `which node`
/usr/local/bin/node: Mach-O 64-bit executable x86_64

如果您安装了Cygwin,我很确定它提供了file命令,否则您可以在线查看适用于Windows的类似程序。

答案 6 :(得分:1)

通过运行node启动节点解释器。然后,process.env为json提供了所需的所有信息。我的尝试中有一个PROCESSOR_ARCHITECTURE: 'AMD64'条目。

我也找到了

ProgramFiles: 'C:\\Program Files', 'ProgramFiles(x86)': 'C:\\Program Files (x86)' ProgramW6432: 'C:\\Program Files'

答案 7 :(得分:0)

使用“ node”命令输入节点REPL。

提示将变为>

然后使用以下命令获取所需的信息-

  1. require('process')。arch ==>这将给出节点体系结构版本。
  2. require('process')。platform ==>这将提供编译平台的体系结构
  3. require('process')。release和require('process')。release.libUrl ==>还提供有关版本和结构的信息
  4. require('process')。config.variables.host_arch ==>这还将提供节点体系结构版本。