ज़रूर, आइए मौजूदा मुद्दे से शुरुआत करें।
एनपीएम (नोड पैकेज मैनेजर) एक अविश्वसनीय रूप से उपयोगी उपकरण है जो आपकी परियोजनाओं की निर्भरता का प्रबंधन करता है। हालाँकि, यह कभी-कभी ऐसी त्रुटियाँ उत्पन्न कर सकता है जो तुरंत स्पष्ट नहीं होती हैं। ऐसी ही एक सामान्य त्रुटि सहकर्मी निर्भरता त्रुटि है, विशेष रूप से: `निर्भरता को हल नहीं किया जा सका: एनपीएम ईआरआर! पियर रिएक्ट@”17.0.1″ रिएक्ट-डोम@17.0.1` से
यह त्रुटि तब प्रकट हो सकती है जब आप एक ऐसे पैकेज को स्थापित करने का प्रयास कर रहे हैं जिसमें सहकर्मी निर्भरताएँ हैं जो आपके वर्तमान प्रोजेक्ट में पूरी नहीं हुई हैं। मूलतः, जिस पैकेज को आप इंस्टॉल करने का प्रयास कर रहे हैं वह अन्य पैकेजों के कुछ संस्करणों के पहले से ही इंस्टॉल होने की उम्मीद कर रहा है। इस मामले में, रिएक्ट-डोम संस्करण 17.0.1 रिएक्ट संस्करण 17.0.1 के समकक्ष की मांग कर रहा है।
अब, आइए इस समस्या के समाधान पर गौर करें और फिर चरण-दर-चरण कोड स्पष्टीकरण अनुभाग में इसे लागू करने के तरीके पर आगे बढ़ें।
सहकर्मी निर्भरता त्रुटि का समाधान
समाधान में आम तौर पर सहकर्मी निर्भरता का सही संस्करण स्थापित करना शामिल होगा, इस मामले में प्रतिक्रिया। इसके लिए, हम एनपीएम की नवीनतम सुविधाओं में से एक, `-legacy-peer-deps` कमांड का उपयोग करेंगे।
इस कमांड का उपयोग पैकेज स्थापित करते समय किया जाता है, और यह एनपीएम को सहकर्मी निर्भरता को अनदेखा करने और इंस्टॉलेशन के साथ आगे बढ़ने के लिए कहता है। इसका उपयोग कैसे करें:
npm install --legacy-peer-deps
इस कमांड का उपयोग करते हुए, npm निर्भरताएँ स्थापित करेगा जैसे कि वह npm 7 से नीचे के संस्करण का उपयोग कर रहा था, जहाँ सहकर्मी निर्भरताएँ सख्त नहीं थीं।
चरण-दर-चरण कोड स्पष्टीकरण
एक बार जब आप `-legacy-peer-deps` के साथ कमांड चलाते हैं, तो npm इंस्टॉलेशन प्रक्रिया शुरू कर देगा। इंस्टॉलेशन प्रक्रिया उस पैकेज की package.json फ़ाइल की जाँच करती है जिसे आप इंस्टॉल करने का प्रयास कर रहे हैं। यदि आवश्यक सहकर्मी निर्भरता संस्करण पूरे नहीं होते हैं, तो आमतौर पर एनपीएम एक त्रुटि देगा।
हालाँकि, `-legacy-peer-deps` के साथ, npm इन अधूरी सहकर्मी निर्भरताओं को अनदेखा करता है और इंस्टॉलेशन के साथ आगे बढ़ता है।
npm install react-dom@17.0.1 --legacy-peer-deps
यह कोड सहकर्मी निर्भरता आवश्यकता को अनदेखा करते हुए प्रतिक्रिया-डोम का संस्करण 17.0.1 स्थापित करेगा।
एनपीएम, पुस्तकालयों और कार्यों के शीर्षक को समझना
एनपीएम जावास्क्रिप्ट के लिए एक स्वतंत्र और ओपन-सोर्स पैकेज पारिस्थितिकी तंत्र है, इसका उपयोग मुख्य रूप से बाहरी मॉड्यूल या पैकेज को स्थापित और प्रबंधित करने के लिए किया जाता है। एक सामान्य npm पैकेज में एक 'package.json' फ़ाइल होती है। इस फ़ाइल में पैकेज के बारे में मेटाडेटा शामिल है जैसे उसका नाम, संस्करण, विवरण, लेखक की जानकारी और बहुत कुछ।
जावास्क्रिप्ट में लाइब्रेरी अनिवार्य रूप से कोड के पुन: प्रयोज्य टुकड़े हैं। वे डेवलपर्स को हर बार जरूरत पड़ने पर कोड के कुछ ब्लॉक लिखने से बचाते हैं।
दूसरी ओर, फ़ंक्शन, कोड का एक पुन: प्रयोज्य ब्लॉक है जो एक निश्चित कार्य करता है। यह इनपुट स्वीकार कर सकता है और आउटपुट लौटा सकता है। जावास्क्रिप्ट में एक फ़ंक्शन को फ़ंक्शन कीवर्ड के साथ परिभाषित किया जाता है, उसके बाद एक नाम, उसके बाद कोष्ठक () लगाया जाता है।
- सहकर्मी निर्भरता समस्या आम तौर पर तब होती है जब पैकेज का आवश्यक संस्करण सही नहीं है, या स्थापित नहीं है। यह संस्करण package.json फ़ाइल में निर्दिष्ट है।
- एनपीएम कमांड में `-legacy-peer-deps` ध्वज का उपयोग करने से डेवलपर्स को इस त्रुटि को बायपास करने की अनुमति मिलती है।
कृपया ध्यान दें कि आगे बढ़ते हुए, आप यह सुनिश्चित करना चाहेंगे कि बाद में संभावित कार्यक्षमता समस्याओं से बचने के लिए डेवलपर्स द्वारा निर्दिष्ट पैकेज के सही संस्करण स्थापित किए जाएं।