64bit veya 32 bit çalıştırılabilir düğümün kurulu olup olmadığını nasıl belirleyebilirim?


90

Windows bilgisayarımda nodej'ler kurulu. 64 bit mi yoksa 32 bit mi olduğunu belirlemek istiyorum. Bunu nasıl belirleyebiliriz? İdam ettim

node --help

ancak bunun bana istenen bilgiyi verme seçeneği yok gibi görünüyor.


coderwall.com/p/0eds7q Sadece işletim sistemi kemerine işaret ettiği için yardımcı olup olmadığından emin değilim.
Silviu Burcea

Yanıtlar:


112

Bunu komut satırından çalıştırın:

node -p "process.arch"

'Arm', 'ia32' veya 'x64' döndürecektir.


Win 10'da bir cazibe gibi çalıştı.
Machado

Büyü gibi çalıştı!
Gásten

63

Düğüm kuruluysa ve çalıştırılabilir durumdaysa,

c:\> node -p "process"    

ve processbiçimlendirilmiş değişkenin içeriğini görmelisiniz . Orada tuşlar archve platformişletim sisteminizi gösterir. Aşağıdaki örnekte birWindows 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 : {
        ...
    }
}

Harika iş, kullanmıyorrequire ('os');
Andrew

3
Ne platformdiyor? arch: x64, platform: win3264 bit işlemcide 32 bit düğüm çalıştırdığınızı söylemiyor mu ?
sampathsris

2
@Krumia: "win32", genellikle Windows NT'nin 32-bit programlar için bu isim altında sunduğu (ve Windows 9x daha sonra [bir alt kümesi] uyguladığı) API'yi ifade eder. MS daha sonra API'yi hem 32-bit hem de 64-bit programları destekleyecek şekilde uyarladığında, bu doğal olarak orijinal "win32" adının biraz kafa karıştırıcı hale gelmesine neden oldu, çünkü şimdi insanlar bazen API'yi özellikle 32 bit varyantına başvurmak için kullanıyor. veya özellikle i386 ABI için; sonuç olarak, bu API'ye "win32" olarak atıfta bulunmak bir şekilde modası geçmiştir. Bununla birlikte, API'nin 64 bit sürümü için bile hala kullanılmaktadır.
SamB

@Krumia: Bütün bunların amacı: büyük olasılıkla win32node.js'nin hangi komut seti için oluşturulduğu hakkında hiçbir şey belirtmiyor. Ayrıca, bunun x64aslında 64 bitlik bir yapı olduğunu göstermesi muhtemeldir . (Her iki durumda da 64-bit işletim sistemi olacağı kesin, çünkü 32-bit işletim sisteminde x64-ikili dosyaları çalıştıramazsınız.)
SamB

30

Windows işletim sistemi üzerindeyse, Windows Görev Yöneticisi'ni kullanarak eski usul bir yola gidin .

İşte girişimim: -

Basitçe nodekomut isteminden çalıştırın .

C:\> node

Bu, düğümü REPL moduna geçirecektir ( >sembolle gösterilir ). Şimdi node.exeişlem ayrıntılarını görmek için Görev Yöneticisi'ni (Ctrl + Shift + Esc) açın . Benimki Windows 10 64-bit ve 32-bit düğüm yüklü. 32 bit / 64 bit bilgilerini görmek için 'Platform' sütununu etkinleştirdiğinizden emin olun.

görüntü açıklamasını buraya girin


4
Windows 10'dan itibaren bu eksik görünüyor.
Meirion Hughes

3
@MeirionHughes hayır, bu sütunu özellikle görünüme eklemeniz gerekiyor. Herhangi bir sütuna sağ tıklayın ve seçinSelect columns
Maria Ines Parnisari

23

mac'ta

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

pencerelerde

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

3
Bu, düğümün değil işletim sistemi mimarisini verir
grisevg

3
Windows 10 64bit üzerinde node.js 6.4.0 32bit ile test ettim ve geri döndü ia32, yani işletim sistemi mimarisi değil
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.source: nodejs.org/api/os.html#os_os_arch
André Werlang

4

Benim önerdiğim yol hiç de iyi bir yol değil. C: ye gidebilir, ardından Program Dosyalarına gidebilir ve orada nodejs klasörünü arayabilirsiniz. Bulunursa 64 bit sürümünü çalıştırıyorsunuz, yoksa Program Dosyalarını (x86) kontrol edin. Orada bulunursa, 32 bit sürümünü çalıştırıyorsunuz demektir.


1
Düğüm js, sisteme geçmişte özel bir konuma kurulmuş olabilirdi. Bu durumda, çözüm bu değil.
Megha Dev

2

Windows'ta aynı davranışı elde etmenin en iyi yolunu bilmediğimden, bu muhtemelen sorununuzu doğrudan çözmez, ancak filebir Unix veya Linux sisteminde komutu kullanmak size bir yürütülebilir dosyanın işlemci mimarisini söyleyecektir:

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

Cygwin'i yüklediyseniz, bunun bir filekomut sağladığından oldukça eminim , yoksa Windows'ta çalışan benzer programları çevrimiçi olarak kontrol edebilirsiniz.


fileGnuWin32 komutunu kullanarak PE32+ executable for MS Windows (console) Mono/.Net assembly64-bit programları ve PE32 executable for MS Windows (console) Intel 80386 32-bit32-bit programları
alıyorum

1

Düğüm yorumlayıcısını çalıştırarak başlatın node. daha sonra process.envihtiyacınız olan tüm bilgileri bir json olarak verir. Benim denememin bunda bir PROCESSOR_ARCHITECTURE: 'AMD64'girişi var.

Ben de buldum

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


1
AFAIK bu size işlemcinizin neler yapabileceğini söyler; değer AMD64 ise, yine de 32 bit programları çalıştırabilir.
daniel kullmann

0

'Node' komutunu kullanarak REPL düğümünü girin.

Komut> olarak değişecektir

Ardından istenen bilgileri almak için aşağıdakileri kullanın.

  1. gerektirir ('süreç'). arch ==> bu, düğüm mimarisi sürümünü verecektir.
  2. gerektirir ('süreç'). platform ==> bu, derleme platformunun mimarisini verecektir
  3. required ('process']. release ve require ('process']. release.libUrl ==> ayrıca sürüm ve mimari hakkında bilgi verir
  4. required ('process']. config.variables.host_arch ==> bu aynı zamanda düğüm mimarisi sürümünü de verecektir.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.