कैसे हल करें इंजन 'नोड' 'इस' मॉड्यूल त्रुटि के साथ असंगत है

Kaise Hala Karem Injana Noda Isa Modyula Truti Ke Satha Asangata Hai



Node.js में, ' पैकेट 'इसमें एक मॉड्यूल की सभी महत्वपूर्ण फ़ाइलें शामिल हैं। एक मॉड्यूल एक लाइब्रेरी से मेल खाता है जो किसी एप्लिकेशन के संदर्भ के आधार पर उसके साथ संबंध बनाता है। सभी Node.js पैकेज पूर्व-परिभाषित नहीं हैं, उनमें से अधिकांश बाहरी हैं जिन्हें 'npm/yarn' पैकेज मैनेजर के माध्यम से Node.js एप्लिकेशन में इंस्टॉल किया जा सकता है।

बाहरी पैकेजों की स्थापना काफी सरल है हालांकि कभी-कभी उपयोगकर्ता को इस कार्य को करते समय कुछ त्रुटियों का सामना करना पड़ सकता है। इन त्रुटियों में से, 'इंजन' नोड 'इस' मॉड्यूल के साथ असंगत है' त्रुटि उनमें से एक है जिसे विभिन्न तकनीकों का पालन करके हल किया जा सकता है।

त्वरित रूपरेखा







जब इंजन 'नोड' 'इस' मॉड्यूल के साथ असंगत होता है तो त्रुटि होती है?

'नोड' 'इस' मॉड्यूल के साथ असंगत है, त्रुटि निम्नलिखित कारणों से होती है:



कारण 1: आवश्यक पैकेज संगत नहीं है

'नोड' के 'इस' मॉड्यूल त्रुटि के साथ असंगत होने का सबसे आम कारण Node.js और आवश्यक पैकेज संस्करण के बीच असंगति है। इसका सामना ज्यादातर AWS पर Node.js एप्लिकेशन को तैनात करते समय करना पड़ता है।



कारण 2: पुराना नोड संस्करण

दूसरा कारण Node.js का पुराना संस्करण है। इसका सामना ज्यादातर उबंटू ऑपरेटिंग सिस्टम में होता है जब उपयोगकर्ता कई बार Node.js संस्करण को अपडेट करने का प्रयास करता है और इसके साथ सिस्टम रिपॉजिटरी को भी अपडेट करता है। इस कारण से, ' अपार्ट कमांड डेबियन पैकेज से लिया गया एक पुराना Node.js संस्करण शुरू करेगा और उपयोगकर्ता को उपरोक्त विशेष त्रुटि का सामना करना पड़ेगा।





इंजन 'नोड' और 'इस' मॉड्यूल त्रुटि का समाधान कैसे करें?

यह अनुभाग इंजन 'नोड' को 'इस' मॉड्यूल त्रुटि के साथ असंगत करने के लिए सभी संभावित व्यावहारिक समाधानों को सूचीबद्ध करता है:

समाधान 1: 'एनपीएम' और 'यार्न' का उपयोग करके इंजन जांच पर ध्यान न दें

पहला समाधान है ' इंजन जांच की अनदेखी ' का उपयोग करके निर्दिष्ट पैकेज स्थापित करते समय NPM ' या ' धागा पैकेज प्रबंधक। के लिए ' NPM 'यह' का उपयोग करके किया जा सकता है -बल 'ध्वज और के लिए' धागा 'यह कार्य' का उपयोग करके किया जा सकता है -अनदेखा-इंजन ' झंडा।



'पर पहला कदम' NPM ' पैकेज प्रबंधक।

सिंटैक्स (एनपीएम के लिए)

एनपीएम इंस्टाल -- बल < पैकेट नाम >

उपरोक्त वाक्यविन्यास के अनुसार, ' -बल फ़्लैग निर्दिष्ट पैकेज को Node.js एप्लिकेशन में जबरदस्ती जोड़ता है

अब वर्तमान Node.js संस्करण में एक विशिष्ट पैकेज स्थापित करने के लिए उपरोक्त सिंटैक्स का उपयोग करें:

एनपीएम इंस्टाल -- बल टाइपस्क्रिप्ट

उपरोक्त आदेश में, 'टाइपस्क्रिप्ट' पैकेज वर्तमान नोड संस्करण संगतता को अनदेखा करते हुए स्थापित किया गया है।

नीचे दिए गए आउटपुट से पता चलता है कि ' टाइपप्रति ” पैकेज को वर्तमान Node.js एप्लिकेशन में जबरदस्ती स्थापित किया गया है। यह कैश के कारण एक चेतावनी संदेश भी दिखाता है। निष्पादित करें ' एनपीएम कैश सत्यापित करें यह सत्यापित करने के लिए आदेश दें कि कैश ठीक से काम कर रहा है या नहीं:

अब 'का उपयोग करके इंजन जांच को अनदेखा करें धागा नीचे दिए गए कमांड की मदद से पैकेज मैनेजर:

यार्न स्थापित करें -- अनदेखा करना - इंजन

उपरोक्त आदेश इंजन जाँच को अनदेखा करता है और पुष्टि करता है कि ' धागा ”वैकल्पिक निर्भरताएँ स्थापित नहीं करता है। “ -अनदेखा-इंजन फ़्लैग ऑफ़लाइन मोड में 'यार्न इंस्टॉल' कमांड चलाता है:

उपरोक्त आदेश एक ' बनाता है यार्न.ताला Node.js प्रोजेक्ट की मुख्य निर्देशिका में फ़ाइल।

धागा पैकेज मैनेजर को इंजन जांच को नजरअंदाज करते हुए पैकेज को स्थापित करने के लिए निम्नलिखित सिंटैक्स की आवश्यकता होती है:

सिंटैक्स (यार्न के लिए)

सूत जोड़ें < पैकेट नाम > -- अनदेखा करना - इंजन

अब 'इंस्टॉल करने के लिए ऊपर लिखे सिंटैक्स का उपयोग करें' टाइपप्रति एक ऑपरेटिंग सिस्टम में विश्व स्तर पर पैकेज:

यार्न ग्लोबल ऐड टाइपस्क्रिप्ट -- अनदेखा करना - इंजन

नीचे दिया गया आउटपुट सभी Node.js प्रोजेक्टों के लिए मौजूदा विंडोज़ ऑपरेटिंग सिस्टम में विश्व स्तर पर टाइपस्क्रिप्ट प्रोजेक्ट को सफलतापूर्वक जोड़ता है:

टिप: सभी कमांड के लिए इंजन जांच पर ध्यान न दें

यदि उपयोगकर्ता सभी आदेशों के लिए इंजन जांच को अनदेखा करना चाहता है तो नीचे दिए गए आदेश को 'के साथ चलाएं' सत्य 'बूलियन मान:

यार्न कॉन्फ़िगरेशन सेट को अनदेखा करें - इंजन सत्य

उपरोक्त कमांड कंपाइलर को बताता है कि 'package.json' फ़ाइल में निर्दिष्ट इंजन फ़ील्ड को अनदेखा करें:

अनदेखा-इंजन 'सभी आदेशों के लिए जाँच सही पर सेट कर दी गई है। अब उपयोगकर्ता '-इग्नोर-इंजन' ध्वज को निर्दिष्ट किए बिना Node.js में कोई भी विशिष्ट पैकेज स्थापित कर सकता है:

समाधान 2: 'package-lock.json' फ़ाइल का उपयोग करके डिफ़ॉल्ट इंजन फ़ील्ड अक्षम करें

अगला समाधान 'संशोधित करना है' इंजन 'से फ़ील्ड' पैकेज-लॉक.जेसन ' फ़ाइल। ऐसा करने के लिए, सबसे पहले, Node.js प्रोजेक्ट की मुख्य निर्देशिका पर जाएँ और 'package-lock.json' फ़ाइल खोलें।

एक बार लक्षित फ़ाइल खुलने के बाद “पर जाएँ” इंजन 'फ़ील्ड बनाएं और इसे इस प्रकार अपडेट करें:

प्रेस ' Ctrl+S उपरोक्त फ़ाइल को सहेजने के लिए। संशोधन 'एनपीएम' पैकेज प्रबंधक को आवश्यक पैकेज संस्करण स्थापित करने की अनुमति देता है जो '>=14.17' नोड.जेएस संस्करण के लिए उपयुक्त है।

समाधान 3: नोड को नवीनतम संस्करण में अपडेट करें

एक अन्य समाधान Node.js संस्करण को अद्यतन करना है। सभी ऑपरेटिंग सिस्टम पर Node.js का अपडेशन काफी आसान है और इसे नीचे दिए गए गाइड की मदद से किया जा सकता है:

  • विंडोज़ पर नोड संस्करण कैसे अपडेट करें?
  • उबंटू पर नोड संस्करण को कैसे अपग्रेड करें?
  • MacOS पर Node.js को नवीनतम संस्करण में कैसे अपग्रेड करें?

यदि इंजन 'नोड' 'इस' मॉड्यूल के साथ असंगत है तो क्या करें त्रुटि अभी भी बनी रहती है?

यदि 'इंजन' नोड 'इस' मॉड्यूल के साथ असंगत है, तो उपरोक्त किसी भी समाधान के साथ इसे हल करने के बाद भी त्रुटि बनी रहती है, तो 'नोड' को हटा दें। नोड_मॉड्यूल 'फ़ोल्डर. तृतीय-पक्ष मॉड्यूल स्थापित होने पर 'नोड_मॉड्यूल' फ़ोल्डर स्वचालित रूप से उत्पन्न होता है। इसमें सभी तृतीय-पक्ष पैकेज शामिल हैं जिन पर Node.js प्रोजेक्ट निर्भर करता है।

इसके अलावा, ' पैकेज-लॉक.जेसन जब कोई पैकेज 'npm' के साथ स्थापित होता है तो फ़ाइल भी स्वचालित रूप से उत्पन्न होती है। यह उन निर्भरताओं के साथ-साथ उप-निर्भरताओं का भी रिकॉर्ड रखता है जिन पर पैकेज उनके संस्करणों के साथ निर्भर करता है। यदि पैकेज 'यार्न' के साथ स्थापित है तो इस फ़ाइल का नाम 'है' यार्न.ताला ”।

समाधान: 'नोड_मॉड्यूल' फ़ोल्डर और 'पैकेज-लॉक.जेसन' फ़ाइल को हटा दें

सामने आई त्रुटि का समाधान 'नोड_मॉड्यूल' फ़ोल्डर, कॉन्फ़िगरेशन फ़ाइल 'पैकेज-लॉक.जेसन/यार्न.लॉक' को हटाना और आवश्यक पैकेज को फिर से स्थापित करना है।

लिनक्स में , ऊपर-निर्दिष्ट फ़ोल्डर या फ़ाइलों को नीचे बताई गई मदद से हटाया जा सकता है ' आर एम (हटाएं)'' आदेश:

आर एम - आरएफ नोड_मॉड्यूल पैकेज - ताला। json //फ़ोल्डर और फ़ाइल हटाएँ

रास // फ़ाइल और निर्देशिकाएँ प्रदर्शित करें

उपरोक्त आदेश में ' -आर 'ध्वज निर्दिष्ट फ़ोल्डर को हटा देता है' रिकर्सिवली 'इसकी सभी उपनिर्देशिकाओं और' सहित एफ 'ध्वज दुभाषिया को यह कार्य करने के लिए कहता है' जोर जबरदसती ”:

आउटपुट से पता चलता है कि 'नोड_मॉड्यूल' फ़ोल्डर और 'पैकेज-लॉक.जेसन/यार्न.लॉक' फ़ाइल पूरी तरह से हटा दी गई है:

विंडोज़ में , उपयोगकर्ता केवल 'डिलीट' कुंजी दबाकर या ड्रॉप-डाउन मेनू से 'डिलीट' विकल्प का उपयोग करके 'नोड_मॉड्यूल' फ़ोल्डर और 'पैकेज-लॉक.जेसन/यार्न.लॉक' फ़ाइल को हटा सकता है।

यह सब Node.js में 'मॉड्यूल नहीं ढूंढ सका' त्रुटि को हल करने के बारे में है।

निष्कर्ष

इंजन को हल करने के लिए ' नोड' 'इस' मॉड्यूल के साथ असंगत है 'त्रुटि, निर्दिष्ट पैकेज प्रबंधक के अनुसार इंजन जांच पर ध्यान न दें। के लिए ' NPM 'यह' का उपयोग करके किया जा सकता है -बल 'झंडा, और' के लिए धागा 'इसे' के माध्यम से निष्पादित किया जा सकता है -अनदेखा-इंजन “ध्वज की जाँच करें. इसके अतिरिक्त, उपयोगकर्ता 'संशोधित करके भी त्रुटि का समाधान कर सकता है' इंजन 'का क्षेत्र' पैकेज-लॉक.जेसन नोड संस्करण को फ़ाइल या अपग्रेड करना। इस पोस्ट में Node.js का उपयोग करके 'मॉड्यूल नहीं ढूंढा जा सका' त्रुटि को हल करने के लिए उनके समाधान के साथ-साथ सभी संभावित कारणों पर चर्चा की गई है।