Подтвердить что ты не робот

Как определить, установлен ли 64-битный или 32-разрядный исполняемый файл node?

На моем компьютере windows у меня установлен nodejs. Я хотел бы определить, будет ли это 64 бит или 32 бит. Как это можно определить? Я выполнил

node --help

но это, похоже, не имеет возможности дать мне желаемую информацию.

4b9b3361

Ответ 1

Если node установлен и исполнен, вы можете просто запустить

c:\> node
> process

и вы должны увидеть содержимое форматируемой переменной process. Там клавиши arch и platform указывают вашу операционную систему. В приведенном ниже примере это 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

Запустите это из командной строки:

node -p "process.arch"

Он вернет "руку", "ia32" или "x64".

Ответ 3

Если это в ОС Windows, просто перейдите по старой школе.. с помощью Диспетчера задач Windows.

Вот моя попытка: -

Просто запустите node из командной строки.

C:\> node

Это положит node в режим REPL (обозначается символом >). Теперь откройте диспетчер задач (Ctrl + Shift + Esc), чтобы просмотреть детали процесса node.exe. Mine находится в Windows 10 64-бит с установленной node 32-разрядной версией. Убедитесь, что вы включили столбец "Платформа" для просмотра 32-разрядной/64-разрядной информации.

введите описание изображения здесь

Ответ 4

в mac

$ node
 > require('os').arch()

в окнах

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

Ответ 5

Хорошо, что я предлагаю, это не совсем хороший способ. Вы можете перейти к C: затем перейдите в папку Program Files и найдите папку nodejs. Если он найден, вы выполняете проверку 64-разрядной версии в программных файлах (x86). Если он найден там, вы используете 32-битную версию.

Ответ 6

Это, скорее всего, не решит вашу проблему напрямую, так как я не знаю, как лучше всего получить такое же поведение в Windows, но с помощью команды file в системе Unix или Linux скажу вам о архитектуре процессора исполняемый файл:

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

Если у вас установлен Cygwin, я уверен, что он предоставляет команду file, иначе вы можете проверить онлайн для похожих программ, работающих в Windows.

Ответ 7

Просто запустите интерпретатор node, запустив node. то в этом process.env дает json всю необходимую информацию. Моя попытка имеет запись PROCESSOR_ARCHITECTURE: 'AMD64'.

Я также нахожу

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