यह निर्धारित करने के लिए कि क्या मेरे पास 64 बिट या 32 बिट नोड निष्पादन योग्य स्थापित है?


89

अपने विंडोज़ पीसी पर मैंने नोडज स्थापित किया है। मैं यह निर्धारित करना चाहूंगा कि यह 64 बिट या 32 बिट है। कोई यह कैसे निर्धारित कर सकता है? मैंने अमल किया

node --help

लेकिन मुझे वांछित जानकारी देने के लिए कोई विकल्प नहीं है।


coderwall.com/p/0eds7q यकीन नहीं होता कि यह मदद करता है क्योंकि यह ओएस आर्च को इंगित करता है।
सिल्वियो बुरसा

जवाबों:


111

कमांड लाइन से इसे चलाएं:

node -p "process.arch"

यह 'बांह', 'ia32', या 'x64' लौटाएगा।


विन 10 में एक आकर्षण की तरह काम किया
मकाडो

एक जादू की तरह काम किया!
गेटन

61

यदि नोड स्थापित है और निष्पादन योग्य है तो आप बस चला सकते हैं

c:\> node -p "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 : {
        ...
    }
}

महान काम, उपयोग नहीं करता हैrequire ('os');
andrew

3
क्या platformकहता है? यह नहीं arch: x64, platform: win32कहता कि आप 64 बिट प्रोसेसर में 32 बिट नोड चला रहे हैं?
संपतश्री १०'१५

2
@Krumia: खैर, "win32" अक्सर उस एपीआई को संदर्भित करता है जिसे 32-बिट कार्यक्रमों के लिए उस नाम के तहत विंडोज एनटी (और विंडोज 9x ने बाद में [उप का]) लागू किया था। जब एमएस ने बाद में 32-बिट और 64-बिट दोनों कार्यक्रमों का समर्थन करने के लिए एपीआई को अनुकूलित किया, तो यह स्वाभाविक रूप से मूल नाम "win32" के परिणामस्वरूप कुछ भ्रमित हो गया, क्योंकि अब लोग कभी-कभी इसका उपयोग एपीआई के 32-बिट संस्करण के लिए विशेष रूप से संदर्भित करने के लिए करते हैं। या i386 ABI के लिए विशेष रूप से; नतीजतन, इस एपीआई को "win32" के रूप में संदर्भित करना कुछ हद तक फैशन से बाहर हो गया है। हालाँकि, यह अभी भी एपीआई के 64-बिट संस्करण के लिए उपयोग किया जाता है।
सैम

@ क्रामिया: सभी के होने की win32बात : बहुत संभव है कि जो कुछ भी निर्देश सेट नोड के बारे में इंगित नहीं करता है। इसके अलावा, यह संभावना है कि यह x64इंगित करता है कि यह वास्तव में 64-बिट बिल्ड है। (किसी भी तरह, यह 64-बिट OS होना निश्चित है, हालाँकि, जब से आप x64- बायनेरिज़ को 32-बिट OS पर नहीं चला सकते।)
SamB

29

यदि यह विंडोज ओएस पर है, तो बस विंडोज टास्क मैनेजर का उपयोग करके एक पुराने स्कूल के रास्ते पर जाएं ।

यहाँ मेरा प्रयास है: -

बस nodeकमांड प्रॉम्प्ट से चलाएं ।

C:\> node

यह आरईपीएल मोड ( >प्रतीक द्वारा इंगित ) में नोड डाल देगा । अब node.exeप्रक्रिया विवरण देखने के लिए टास्क मैनेजर (Ctrl + Shift + Esc) खोलें । खदान 32-बिट स्थापित के साथ विंडोज 10 64-बिट पर है। सुनिश्चित करें कि आप 32-बिट / 64-बिट जानकारी देखने के लिए 'प्लेटफ़ॉर्म' कॉलम को सक्षम करते हैं।

यहाँ छवि विवरण दर्ज करें


4
विंडोज़ 10 के रूप में यह याद आ रही है।
मीरियन ह्यूजेस

2
@MeirionHughes nope, आपको विशेष रूप से इस कॉलम को दृश्य में जोड़ना होगा। किसी भी कॉलम को राइट-क्लिक करें और चुनेंSelect columns
मारिया इनेस पर्निसारी

23

मैक में

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

खिड़कियों में

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

3
यह OS को आर्किटेक्चर देता है, न कि नोड का
grisevg

3
मैंने विंडोज 10 64 बिट पर नोड.जेएस 6.4.0 32 बिट के साथ परीक्षण किया और यह वापस आ गया ia32, इसलिए यह ओएस आर्किटेक्चर नहीं है
बर्नार्डो रामोस

3
@grisevg The os.arch() method returns a string identifying the operating system CPU architecture for which the Node.js binary was compiled.स्रोत: nodejs.org/api/os.html#os_os_arch
एंड्रे वेरलैंग

4

वैसे मैं जिस तरह से सुझाव दे रहा हूं वह बिल्कुल अच्छे तरीके से नहीं है। आप C पर जा सकते हैं: फिर Program Files पर जाएं और वहां नोडज फोल्डर खोजें। यदि यह पाया जाता है तो आप 64 बिट संस्करण को प्रोग्राम फाइल्स (x86) पर चला रहे हैं। अगर यह वहां पाया जाता है तो आप 32 बिट संस्करण चला रहे हैं।


1
नोड js को सिस्टम में किसी पूर्व स्थान पर किसी समय स्थापित किया जा सकता था। उस मामले में, यह बिल्कुल समाधान नहीं है।
मेघा देव

2

यह संभावना आपकी समस्या को सीधे हल नहीं करती है, क्योंकि मुझे विंडोज पर समान व्यवहार प्राप्त करने का सबसे अच्छा तरीका नहीं पता है, लेकिन fileयूनिक्स या लिनक्स सिस्टम पर कमांड का उपयोग करने से आपको एक निष्पादन योग्य के प्रोसेसर आर्किटेक्चर का पता चलेगा:

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

यदि आपने Cygwin स्थापित किया है, तो मुझे पूरा यकीन है कि यह एक fileकमांड प्रदान करता है , या फिर आप विंडोज पर काम करने वाले समान कार्यक्रमों के लिए ऑनलाइन जाँच कर सकते हैं।


fileGnuWin32 से कमांड का उपयोग करते हुए , मैं PE32+ executable for MS Windows (console) Mono/.Net assembly64-बिट कार्यक्रमों के लिए, और PE32 executable for MS Windows (console) Intel 80386 32-bit32-बिट कार्यक्रमों के लिए
daniel kullmann

1

बस चलाकर नोड इंटरप्रिटर शुरू करें node। फिर उस में, process.envआपको आवश्यक सभी जानकारी के साथ एक json देता है। मेरी कोशिश में एक PROCESSOR_ARCHITECTURE: 'AMD64'प्रविष्टि है।

मैं भी पाता हूं

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


1
AFAIK यह सिर्फ आपको बताता है कि आपका प्रोसेसर क्या सक्षम है; यदि मान AMD64 है, तो यह अभी भी 32-बिट प्रोग्राम चला सकता है।
daniel kullmann

0

'नोड' कमांड का उपयोग करके नोड REPL दर्ज करें।

प्रॉम्प्ट> में बदल जाएगा

फिर वांछित जानकारी प्राप्त करने के लिए निम्नलिखित का उपयोग करें-

  1. आवश्यकता ('प्रक्रिया')। आर्क ==> यह नोड आर्किटेक्चर संस्करण देगा।
  2. आवश्यकता ('प्रक्रिया')। मंच ==> यह संकलन मंच की वास्तुकला देगा
  3. आवश्यकता ('प्रक्रिया')। रिलीज़ और आवश्यकता ('प्रक्रिया')। release.libUrl ==> संस्करण और जानकारी के बारे में भी जानकारी देता है
  4. आवश्यकता ('प्रक्रिया')। config.variables.host_arch ==> यह नोड आर्किटेक्चर संस्करण भी देगा।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.