2016-09-17 22 views
11

मैं इस समस्या को जहां, नोड और NPM का एक नया स्थापना से, serial port पैकेज नमस्ते विश्व इलेक्ट्रॉन पैकेज में निम्न त्रुटि के साथ लोड नहीं होगा मिला है:नोड मॉड्यूल संस्करण बेमेल: उम्मीद की 50

enter image description here

मैं नोड संस्करण 6.6.0 और एनपीएम संस्करण 3.10.7 और ओएस एक्स 10.11.6 पर हूं।

मुझे लगता है कि मैं किसी भी तरह से पुराना था, लेकिन this list पर देख रहा हूं, मुझे कुछ भी नहीं मिला है जिसमें 50 का मॉड्यूल संस्करण है। क्या यह एक बग है?

मैंने npm rebuild की कोशिश की है, साथ ही मॉड्यूल को हटाने और पुनर्स्थापित करने की कोशिश की है, लेकिन कोई पासा नहीं है।

अद्यतन: भले ही यह v6.6.0 प्रिंट, वेब कंसोल में process.versions.node चल रहा है जब मैं node -v चलाने मुझे v6.5.0 देता है। यहाँ क्या चल रहा है?

उत्तर

15

यह known issue है जो serialport मॉड्यूल के कारण होता है जो नोड के एक अलग संस्करण के लिए बनाया गया मूल कोड का उपयोग करता है। यदि आप रुचि रखते हैं तो आप एडॉन्स here के बारे में कुछ और पढ़ सकते हैं; वे सी/सी ++ में लिखे गए मॉड्यूल हैं जो नोड के साथ इंटरफ़ेस कर सकते हैं ताकि मॉड्यूल हार्डवेयर के साथ अधिक आसानी से इंटरफ़ेस कर सके।

समाधान कि इस मुद्दे द्वारा प्रस्तावित यह है:

npm rebuild --runtime=electron --target=1.2.5 --disturl=https://atom.io/download/atom-shell --build-from-source 

आप पहले से ही electron-rebuild, कि यह सुनिश्चित करें कि पुनर्निर्माण की प्रक्रिया को सही ढंग से काम करता है उपयोगी हो सकता है स्थापित नहीं किया है, तो:

npm install --save-dev electron-rebuild 

भले ही मैं नोड-वी चलाता हूं, यह v6.6.0 प्रिंट करता है, वेब कंसोल में process.versions.node चल रहा है मुझे v6.5.0 देता है। यहाँ क्या चल रहा है?

इलेक्ट्रॉन नोड जो आपके सिस्टम नोड स्थापना से जुड़ा नहीं है का अपना संस्करण (homepage देखते हैं कि नवीनतम इलेक्ट्रॉन का उपयोग करता नोड संस्करण देखने, या process.versions.node उपयोग करते हैं, जैसे आप प्रश्न में किया था करने के लिए) का उपयोग करता है।

यदि आप इस मुद्दे का कारण हैं तो आप पुराने संस्करण (शायद 1.1.0, जो क्रोम 50 का उपयोग करते हैं?) का प्रयास कर सकते हैं।

+2

धन्यवाद। मैंने अपने इलेक्ट्रॉन संस्करण को 1.3.1 में बदल दिया (सबसे कम एक जो सही ढंग से स्थापित होगा) और 'npm rebuild - runtime = इलेक्ट्रॉन - लक्ष्य = 1.3.1 --disturl = https: //atom.io/download/atom चला गया -शेल - बिल्ड-टू-सोर्स 'और यह सब अब काम कर रहा है। – Alfo

+1

धन्यवाद @ Aurora0001! यह इलेक्ट्रॉन 1.4.3 के लिए काम करता है जबकि मेरा स्थानीय नोड संस्करण 4.2.1 है। – supNate

4

मेरे मामले में त्रुटि थी: गया था

App threw an error during load 
Error: Module version mismatch. Expected 50, got 48. 
    at Error (native) 
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20) 
    at Object.Module._extensions..node (module.js:583:18) 
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:173:20) 
    at Module.load (module.js:473:32) 
    at tryModuleLoad (module.js:432:12) 
    at Function.Module._load (module.js:424:3) 
    at Module.require (module.js:483:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/myapp/node_modules/sqlite3/lib/sqlite3.js:4:15) 

के बाद पुनर्निर्माण त्रुटि को ठीक:

npm install --save-dev electron-rebuild 

npm rebuild --runtime=electron --target=1.4.3 --disturl=https://atom.io/download/atom-shell --build-from-source 
संबंधित मुद्दे