Si el nodo está instalado y es ejecutable, simplemente puede ejecutar
c:\> node -p "process"
y debería ver el contenido de la processvariable formateada. Allí las claves arche platformindica su sistema operativo. En el siguiente ejemplo, es unWindows 7 x64
¿Qué platformdice? ¿No arch: x64, platform: win32dice que está ejecutando un nodo de 32 bits en un procesador de 64 bits?
sampathsris
2
@Krumia: Bueno, "win32" a menudo se refiere a la API que introdujo Windows NT (y Windows 9x implementó posteriormente [un subconjunto de]) con ese nombre para programas de 32 bits. Cuando MS adaptó más tarde la API para admitir programas de 32 y 64 bits, esto naturalmente resultó en que el nombre original "win32" se volviera algo confuso, ya que ahora la gente lo usa a veces para referirse específicamente a la variante de 32 bits de la API. o al i386 ABI específicamente; en consecuencia, referirse a esta API como "win32" ha pasado de moda. Sin embargo, todavía se usa incluso para la versión de 64 bits de la API.
SamB
@Krumia: El punto de todo eso es: muy probablemente win32no indique nada sobre para qué está construido el conjunto de instrucciones node.js. Además, es probable que x64indique que se trata de una compilación de 64 bits. (De cualquier manera, seguramente será un sistema operativo de 64 bits, ya que no puede ejecutar binarios x64 en un sistema operativo de 32 bits)
SamB
29
Si está en el sistema operativo Windows, simplemente siga el camino de la vieja escuela ... usando el Administrador de tareas de Windows .
Aquí está mi intento:
Simplemente ejecute nodedesde el símbolo del sistema.
C:\> node
Esto pondrá el nodo en modo REPL (indicado por el >símbolo). Ahora abra el Administrador de tareas (Ctrl + Shift + Esc) para ver los node.exedetalles del proceso. El mío está en Windows 10 de 64 bits con el nodo de 32 bits instalado. Asegúrese de habilitar la columna 'Plataforma' para ver información de 32 bits / 64 bits.
Eso le da a la arquitectura del sistema operativo, no nodo de
grisevg
3
Probé en Windows 10 64bit con node.js 6.4.0 32bit y regresó ia32, por lo que no es la arquitectura del sistema operativo
Bernardo Ramos
3
@grisevg The os.arch() method returns a string identifying the operating system CPU architecture for which the Node.js binary was compiled.fuente: nodejs.org/api/os.html#os_os_arch
André Werlang
4
Bueno, la forma en que estoy sugiriendo no es en absoluto buena. Puede ir a C: luego ir a Archivos de programa y buscar la carpeta nodejs allí. Si lo encuentra, entonces está ejecutando la versión de 64 bits; de lo contrario, verifique en Archivos de programa (x86). Si se encuentra allí, entonces está ejecutando la versión de 32 bits.
El nodo js podría haberse instalado en el sistema en algún momento del pasado en una ubicación personalizada. En ese caso, esta no es la solución en absoluto.
Megha Dev
2
Es probable que esto no resuelva directamente su problema, ya que no conozco la mejor manera de obtener el mismo comportamiento en Windows, pero usar el filecomando en un sistema Unix o Linux le dirá la arquitectura del procesador de un ejecutable:
Si tiene Cygwin instalado, estoy bastante seguro de que proporciona un filecomando, o puede buscar en línea programas similares que funcionen en Windows.
Usando el filecomando de GnuWin32, obtengo PE32+ executable for MS Windows (console) Mono/.Net assemblypara programas de 64 bits y PE32 executable for MS Windows (console) Intel 80386 32-bitpara programas de 32 bits
daniel kullmann
1
Simplemente inicie el intérprete de nodos ejecutando node. luego, en eso, process.envda un json con toda la información que necesita. Mi intento tiene una PROCESSOR_ARCHITECTURE: 'AMD64'entrada en eso.
Respuestas:
Ejecute esto desde la línea de comando:
node -p "process.arch"
Devolverá 'arm', 'ia32' o 'x64'.
fuente
Si el nodo está instalado y es ejecutable, simplemente puede ejecutar
c:\> node -p "process"
y debería ver el contenido de la
process
variable formateada. Allí las clavesarch
eplatform
indica su sistema operativo. En el siguiente ejemplo, es unWindows 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 : { ... } }
fuente
require ('os');
platform
dice? ¿Noarch: x64, platform: win32
dice que está ejecutando un nodo de 32 bits en un procesador de 64 bits?win32
no indique nada sobre para qué está construido el conjunto de instrucciones node.js. Además, es probable quex64
indique que se trata de una compilación de 64 bits. (De cualquier manera, seguramente será un sistema operativo de 64 bits, ya que no puede ejecutar binarios x64 en un sistema operativo de 32 bits)Si está en el sistema operativo Windows, simplemente siga el camino de la vieja escuela ... usando el Administrador de tareas de Windows .
Aquí está mi intento:
Simplemente ejecute
node
desde el símbolo del sistema.C:\> node
Esto pondrá el nodo en modo REPL (indicado por el
>
símbolo). Ahora abra el Administrador de tareas (Ctrl + Shift + Esc) para ver losnode.exe
detalles del proceso. El mío está en Windows 10 de 64 bits con el nodo de 32 bits instalado. Asegúrese de habilitar la columna 'Plataforma' para ver información de 32 bits / 64 bits.fuente
Select columns
en mac
$ node > require('os').arch()
en ventanas
c:\> node > require('os').arch()
fuente
ia32
, por lo que no es la arquitectura del sistema operativoThe os.arch() method returns a string identifying the operating system CPU architecture for which the Node.js binary was compiled.
fuente: nodejs.org/api/os.html#os_os_archBueno, la forma en que estoy sugiriendo no es en absoluto buena. Puede ir a C: luego ir a Archivos de programa y buscar la carpeta nodejs allí. Si lo encuentra, entonces está ejecutando la versión de 64 bits; de lo contrario, verifique en Archivos de programa (x86). Si se encuentra allí, entonces está ejecutando la versión de 32 bits.
fuente
Es probable que esto no resuelva directamente su problema, ya que no conozco la mejor manera de obtener el mismo comportamiento en Windows, pero usar el
file
comando en un sistema Unix o Linux le dirá la arquitectura del procesador de un ejecutable:$ file `which node` /usr/local/bin/node: Mach-O 64-bit executable x86_64
Si tiene Cygwin instalado, estoy bastante seguro de que proporciona un
file
comando, o puede buscar en línea programas similares que funcionen en Windows.fuente
file
comando de GnuWin32, obtengoPE32+ executable for MS Windows (console) Mono/.Net assembly
para programas de 64 bits yPE32 executable for MS Windows (console) Intel 80386 32-bit
para programas de 32 bitsSimplemente inicie el intérprete de nodos ejecutando
node
. luego, en eso,process.env
da un json con toda la información que necesita. Mi intento tiene unaPROCESSOR_ARCHITECTURE: 'AMD64'
entrada en eso.Yo tambien encuentro
ProgramFiles: 'C:\\Program Files', 'ProgramFiles(x86)': 'C:\\Program Files (x86)'
ProgramW6432: 'C:\\Program Files'
fuente
Ingrese el REPL del nodo usando el comando 'nodo'.
El mensaje cambiará a>
Luego use lo siguiente para obtener la información deseada:
fuente