Comment déterminer si un exécutable de noeud 64 bits ou 32 bits est installé?

Sur Windows PC, j’ai installé nodejs. Je voudrais déterminer si c’est 64 bits ou 32 bits. Comment peut-on déterminer cela? J’ai exécuté

node --help 

mais cela ne semble pas avoir la possibilité de me donner les informations souhaitées.

Exécutez ceci depuis la ligne de commande:

 node -p "process.arch" 

Il retournera “arm”, “ia32” ou “x64”.

Si le noeud est installé et exécutable, vous pouvez simplement exécuter

 c:\> node -p "process" 

et vous devriez voir le contenu de la variable de process formaté. Les clés arch et la platformplatform indiquent votre système d’exploitation. Dans l’exemple ci-dessous, il s’agit d’un Windows 7 x64

 { title : 'Administrator: C:\\Windows\\System32\\cmd.exe - node ', version : 'v0.10.36', moduleLoadList : [ 'Binding evals', ... 'Binding signal_wrap', 'NativeModule ssortingng_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 : { ... } } 

Si c’est sous Windows, il suffit d’aller à l’ancienne en utilisant le Gestionnaire des tâches Windows .

Voici ma tentative: –

Exécutez simplement le node depuis l’invite de commande.

C:\> node

Cela mettra le nœud en mode REPL (indiqué par le symbole > ). Maintenant, ouvrez le Gestionnaire des tâches (Ctrl + Maj + Échap) pour voir les détails du processus node.exe . Le mien est sur Windows 10 64 bits avec le noeud 32 bits installé. Assurez-vous d’activer la colonne ‘Platform’ pour afficher les informations 32 bits / 64 bits.

entrer la description de l'image ici

dans mac

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

dans les fenêtres

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

Eh bien, ce que je propose n’est pas du tout un bon moyen. Vous pouvez passer à C: puis allez à Program Files et recherchez le dossier nodejs. Si elle est trouvée, vous exécutez la version 64 bits sinon vérifiez les fichiers de programme (x86). S’il y est trouvé, vous exécutez une version 32 bits.

Cela ne résout probablement pas directement votre problème, car je ne connais pas le meilleur moyen d’obtenir le même comportement sous Windows, mais l’utilisation de la commande file sur un système Unix ou Linux vous indiquera l’architecture du processeur d’un exécutable:

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

Si vous avez installé Cygwin, je suis sûr qu’il fournit une commande de file , ou vous pouvez vérifier en ligne pour des programmes similaires qui fonctionnent sous Windows.

Il suffit de démarrer l’interpréteur de noeud en exécutant le node . Ensuite, process.env donne à json toutes les informations dont vous avez besoin. Mon essai comporte une entrée PROCESSOR_ARCHITECTURE: 'AMD64' .

Je trouve aussi

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