Back to Question Center
0

एनपीएम के लिए शुरुआती गाइड - नोड पैकेज प्रबंधक            एनपीएम के लिए शुरुआती गाइड - नोड पैकेज प्रबंधकसंबंधित विषय: रिएक्टजेक्टिटाइंड एंड & लाइब्रेरीजंगल जेएसआरओ मिमल

1 answers:
एनपीएम के लिए शुरुआती गाइड - नोड पैकेज प्रबंधक

नोड जे एस सर्वर पर जावास्क्रिप्ट में अनुप्रयोगों को लिखना संभव बनाता है यह वी 8 जावास्क्रिप्ट रनटाइम पर बनाया गया है और सी ++ में लिखा है - तो यह तेज़ है। मूल रूप से, यह अनुप्रयोगों के लिए एक सर्वर पर्यावरण के रूप में किया गया था, लेकिन डेवलपर्स ने इसे स्थानीय कार्य स्वचालन में सहायता के लिए उपकरण बनाने के लिए उपयोग करना शुरू कर दिया। तब से, नोड आधारित उपकरणों का एक नया पारिस्थितिकी तंत्र (जैसे कि ग्रन्ट, गैलप और वेबपैक) सामने वाले विकास के चेहरे को बदलने के लिए विकसित हुआ है।

यह लोकप्रिय लेख एनपीएम की मौजूदा स्थिति को दर्शाने के लिए 08. 06. 2017 पर अपडेट किया गया था, साथ ही 5 संस्करण की रिलीज के द्वारा शुरू किए गए परिवर्तन।

इन उपकरणों (या संकुलों) का उपयोग करने के लिए हम आपको एक उपयोगी तरीके से स्थापित और प्रबंधित करने में सक्षम होना चाहिए। यह वह स्थान है जहां एनपीएम, नोड पैकेज प्रबंधक आता है। यह उन संकुल को स्थापित करता है जिन्हें आप उपयोग करना चाहते हैं और उनके साथ काम करने के लिए उपयोगी इंटरफ़ेस प्रदान करते हैं।

इस आलेख में मैं एनपीएम के साथ काम करने की मूल बातें देखना चाहता हूं। मैं आपको स्थानीय और वैश्विक मोड में संकुल को स्थापित करने के तरीके के साथ-साथ एक पैकेज के एक निश्चित संस्करण को हटाने, अद्यतन और स्थापित करने के लिए दिखाऊंगा। मैं आपको यह भी दिखाऊंगा कि कैसे पैकेज के साथ काम करना है एक परियोजना की निर्भरता को प्रबंधित करने के लिए जेएसन यदि आप एक वीडियो व्यक्ति हैं, तो साइटपॉइंट प्रीमियम के लिए साइन अप क्यों न करें और हमारे निशुल्क स्क्रीनकास्ट देखें: एनपीएम क्या है और मैं इसे कैसे प्रयोग कर सकता हूं?

लेकिन इससे पहले कि हम एनपीएम का उपयोग करना शुरू कर सकें, हमें पहले नोड इंस्टॉल करना होगा। हमारे सिस्टम पर जे एस Semaltेट अब ऐसा करते हैं .

नोड अधिष्ठापन जेएस (2 9)

नोड के लिए सिर। जे एस डाउनलोड पेज और संस्करण की आवश्यकता को पकड़ो। इसमें विंडोज और मैक इंस्टॉलर उपलब्ध हैं, साथ ही प्री-कंपाइल्ज्ड सेमील्ट बिनरीज़ और सोर्स कोड भी हैं। सेमेल्ट के लिए, आप यहां नोड को पैकेज प्रबंधक के माध्यम से स्थापित कर सकते हैं, जैसा कि यहां उल्लिखित है।

इस ट्यूटोरियल के लिए हम v6 का प्रयोग करेंगे। 10. 3 स्थिर लेखन के समय, यह नोड का वर्तमान दीर्घकालिक समर्थन (एलटीएस) संस्करण है

युक्ति : आप एक संस्करण प्रबंधक का उपयोग करके नोड को स्थापित करने पर भी विचार कर सकते हैं। यह अगले अनुभाग में उठाए गए अनुमतियों के मुद्दे को नकार देता है

Semaltेट देखें कि नोड कहाँ स्थापित किया गया था और संस्करण की जांच करें।

     $ नोड/ Usr / bin / नोड$ नोड - वर्जनv6। 10. 3    

यह सत्यापित करने के लिए कि आपका इंस्टॉलेशन सफल रहा था, चलो, एक सेमेल्ट REPL को एक कोशिश दें।

     $ नोड> कंसोल लॉग ('नोड चल रहा है');नोड चल रहा है>। मदद। तोड़ना कभी-कभी आप फंस जाते हैं, यह आपको बाहर निकाल लेता है स्पष्ट उपनाम के लिए टूटना। बाहर निकलें repl से बाहर निकलना मदद दिखाने के विकल्प। लोड जेएस एक फाइल से आरपीएल सत्र में लोड करें। सहेजें एक फाइल में इस आरईपीएल सत्र में सभी मूल्यांकन कमांड सहेजें>। बाहर जाएं    

साम्प्रदायिक स्थापना काम करती है, इसलिए हम अब हमारे एनपीएम पर ध्यान केंद्रित कर सकते हैं, जो कि इंस्टॉल में शामिल था।

     $ जो एनपीएम/ Usr / bin / NPM$ एनएमपी - वर्जन3 - oculus de sol ray ban masculino. 10. 10    

नोड पैकेजेड मॉड्यूल

एनपीएम स्थानीय या वैश्विक मोड में संकुल को स्थापित कर सकता है। स्थानीय मोड में यह आपके पैरेंट वर्किंग डायरेक्टरी में एक नोड_मॉड्यूल फ़ोल्डर में पैकेज स्थापित करता है। यह स्थान वर्तमान उपयोगकर्ता के स्वामित्व में है। {prefix} आमतौर पर / यूएसआर / या रूट के स्वामित्व वाले {prefix} / lib / node_modules / में वैश्विक पैकेज इंस्टॉल किए जाते हैं / usr / local ) इसका अर्थ है कि आपको विश्व स्तर पर संकुल को स्थापित करने के लिए सुडो का उपयोग करना होगा, जो तृतीय-पक्ष निर्भरता को हल करने के साथ-साथ सुरक्षा संबंधी चिंता का कारण बन सकता है चलिए इसे बदलते हैं:

$ एनपीएम कॉन्फ़िग सूची; CLI configsउपयोगकर्ता-एजेंट = "एनपीएम / 3 10. 10 नोड / वी 6 10. 3 लिनक्स एक्स 64"; userconfig / home / sitepoint /। npmrcउपसर्ग = "/ घर / साइटपॉइंट /। नोड_मॉड्यूल_ग्लॉबल"; नोड बिन स्थान = / usr / bin / nodejs; cwd = / home / साइटपॉइंट; होम = / होम / साइटपॉइंट; सभी डिफॉल्ट को दिखाने के लिए "npm config ls -l"

यह हमें हमारे इंस्टॉल के बारे में जानकारी देता है। अभी के लिए वर्तमान वैश्विक स्थान प्राप्त करना महत्वपूर्ण है।

     $ npm कॉन्फ़िग प्रिफिक्स प्राप्त करें/ usr    

यह वह उपसर्ग है जिसे हम बदलना चाहते हैं, ताकि हमारे होम डायरेक्टरी में वैश्विक पैकेज स्थापित कर सकें। ऐसा करने के लिए अपने घर फ़ोल्डर में एक नई निर्देशिका बनाएँ

     $ cd ~ && mkdir node_modules_global$ npm कॉन्फ़िगरेशन सेट उपसर्ग = $ HOME /। node_modules_global    

इस सरल विन्यास परिवर्तन के साथ, हमने उस स्थान को बदल दिया है जिसमें वैश्विक नोड पैकेज स्थापित किए गए हैं। यह भी एक बनाता है हमारी होम डायरेक्टरी में npmrc फ़ाइल

     $ npm कॉन्फ़िग प्रिफिक्स प्राप्त करें/ घर / SitePoint /। node_modules_global$ बिल्ली npmrcउपसर्ग = / घर / SitePoint /। node_modules_global    

हमारे पास रूट के स्वामित्व वाले स्थान पर एनपीएम स्थापित है लेकिन क्योंकि हमने अपना वैश्विक पैकेज स्थान बदल दिया है इसलिए हम उसका लाभ उठा सकते हैं। हमें एनपीएम को फिर से स्थापित करने की आवश्यकता है, लेकिन इस समय नए उपयोगकर्ता-स्वामित्व वाले स्थान पर। यह एनपीएम का नवीनतम संस्करण भी स्थापित करेगा।

     $ एनपीएम इंस्टॉल एनपीएम - ग्लोबल└─┬ एनएमएम @ 5 0. 2├── abbrev @ 1 1. 0├── उत्तर-रेगेक्स @ 2 1 1। । । । ├── लपेटे @ 1 0. 2└── लेखन-फाइल-परमाणु @ 2 1. 0    

अंत में, हमें जोड़ने की आवश्यकता है । node_modules_global / bin हमारे $ PATH पर्यावरण चर, ताकि हम कमांड लाइन से वैश्विक पैकेज चला सकते हैं। निम्न लाइन को अपने में जोड़कर ऐसा करें प्रोफ़ाइल , bash_profile या bashrc और अपने टर्मिनल को पुनरारंभ।

     निर्यात पैट = "$ HOME /। नोड_मॉड्यूल_ग्लोबल / बिन: $ पैट"    

अब हमारे node_modules_global / bin पहले पाएंगे और एनपीएम का सही संस्करण उपयोग किया जाएगा।

     $ जो एनपीएम/ घर / SitePoint /। node_modules_global / bin / NPM$ एनएमपी - वर्जन5. 0. 2    

वैश्विक मोड में संकुल का अधिष्ठापन

फिलहाल हमारे पास एक पैकेज दुनिया भर में स्थापित है - जो कि एनपीएम पैकेज ही है तो हम इसे बदलते हैं और UglifyJS (एक जावास्क्रिप्ट मिनिफिकेशन उपकरण) को स्थापित करते हैं। हम - ग्लोबल ध्वज का उपयोग करते हैं, लेकिन इसे संक्षिप्त -जी में किया जा सकता है।

     $ एनपीएम स्थापित करें यूगलेटी-जेएस - ग्लोबल/ घर / SitePoint /। node_modules_global / bin / uglifyjs -> / घर / साइटपॉइंट / node_modules_global / lib / node_modules / uglifyjs / bin / uglifyjs+ यूग्लिफ़-जेएस @ 3 0. 155 में 4 पैकेज जोड़े गए। 836    

जैसा कि आप आउटपुट से देख सकते हैं, अतिरिक्त पैकेज इंस्टॉल किए गए हैं - ये मील डालने की निर्भरताएं हैं

लिस्टिंग वैश्विक पैकेज

हम एनपीएम सूची कमांड से स्थापित वैश्विक पैकेज की सूची कर सकते हैं।

     $ एनपीएम सूची - वैश्विकघर / SitePoint /। node_modules_global / lib├─┬ एनएमएम @ 5 0. 2│ ├── abbrev @ 1 1. 0│ ├── ansi-regex @ 2 1 1│ ├── ansicolors @ 0 3. 2│ ├── उत्तरवर्ती @ 0 1. 3. । । । । । । । । । । । । । । । । । । └─┬ यूगेल-जे एस @ 3 0. 15├─┬ कमांडर @ 2 9. 0│ └── सुंदर-पिरलिंक @ 1 0. 1└── स्रोत-नक्शा @ 0 5. 6    

हालांकि उत्पादन, शब्दावली की जगह नहीं है हम इसे --depth = 0 विकल्प से बदल सकते हैं

     $ एनपीएम सूची -g --depth = 0/ घर / SitePoint /। node_modules_global / lib├── एनएमएम @ 5 0. 2└── यूगेल-जे एस @ 3 0. 15    

बेहतर कामकाज - सिर्फ हमारे द्वारा उनके संस्करण संख्याओं के साथ स्थापित किए गए पैकेज।

विश्व स्तर पर स्थापित कोई संकुल कमांड लाइन से उपलब्ध होगा। उदाहरण के लिए, यहां बताया गया है कि कैसे आप को मापने के लिए Uglify पैकेज का उपयोग करें उदाहरण। जेएस में उदाहरण मि। जेएस :

     $ uglifyjs उदाहरण। जे एस -ओ उदाहरण मिनट. जेसन    फाइल चलो आगे बढ़ो और एक बनाओ  
     $ एनपीएम initपैकेज का नाम: (परियोजना)संस्करण: (1. 0. 0)विवरण: पैकेज का डेमो jsonप्रवेश बिंदु: (इंडेक्स। जेएस)परीक्षण कमांड:जीआईटी भंडार:कीवर्ड:लेखक:लाइसेंस: (आईएससी)    

प्रेस (18 9) दर्ज करें (1 9 0) डिफ़ॉल्ट स्वीकार करने के लिए, फिर प्रकार हाँ पुष्टि करने के लिए यह एक पैकेज तैयार करेगा। जेएसओएन परियोजना की जड़ में फाइल।

  (1 9 7) {"नाम": "प्रोजेक्ट","संस्करण": "0. 0. 0","विवरण": "","मुख्य": "इंडेक्स। जेएस","स्क्रिप्ट": {"परीक्षा": "प्रतिध्वनि \" त्रुटि: कोई भी परीक्षण निर्दिष्ट नहीं है \ "&& exit 1"},"लेखक": "","लाइसेंस": "आईएससी"}    

युक्ति : यदि आप एक पैकेज को तैयार करने का एक तेज़ तरीका चाहते हैं जेएसन फाइल उपयोग एनपीएम इनिट - वाई

क्षेत्र उम्मीद है कि मुख्य और स्क्रिप्ट के अपवाद के साथ आशावादी रूप से सुंदर है। मुख्य फ़ील्ड आपके प्रोग्राम के लिए प्राथमिक प्रविष्टि बिंदु है और स्क्रिप्ट फ़ील्ड आपको स्क्रिप्ट आदेश निर्दिष्ट करने देता है जो आपके पैकेज के जीवन चक्र में कई बार चलाए जाते हैं। हम इन्हें अब तक के रूप में छोड़ सकते हैं, लेकिन अगर आप अधिक जानकारी प्राप्त करना चाहते हैं, तो पैकेज देखें। एनपीएम पर जेएसएस प्रलेखन और निर्माण उपकरण के रूप में एनपीएम का उपयोग करने पर इस आलेख

अब आइंडर्सकोर की कोशिश करो और इंस्टॉल करें।

     $ एनपीएम अधोरेखण स्थापित करेंएनपीएम नोटिस ने लॉकफाइल को पैकेज-लॉक के रूप में बनाया। json। आपको यह फाइल करना चाहिए। npm वार्न परियोजना @ 1 0. 0 कोई विवरण नहींnpm वार्न परियोजना @ 1 0. 0 कोई रिपोजिटरी फ़ील्ड नहीं। + अंडरस्कोर @ 1 8. 30. 344 में 1 पैकेज जोड़ा गया    

ध्यान दें कि लॉकफ़ाइल बनाई जाती है। बाद में इस पर वापस जाना होगा।

अब अगर हम पैकेज में एक नजर है json हम देखेंगे कि निर्भरता फ़ील्ड जोड़ दी गई है:

  (1 9 7) {। । । "निर्भरता": {"अंडरस्कोर": "^ 1. 8. 3"}}    

पैकेज के साथ निर्भरता प्रबंधित करना जेसन (2 9)

जैसा कि आप देख सकते हैं, अंडरस्कोर v1 8. 3 हमारे परियोजना में स्थापित किया गया था। वर्जन संख्या के सामने कैरेट ( ^ ) इंगित करता है कि जब स्थापित होता है, तो एनएमएम पैकेज के उच्चतम संस्करण को खींच देगा, जहां यह पता लगा सकता है कि केवल प्रमुख संस्करण का मिलान कहाँ होना है (जब तक कि पैकेज-लॉक। json फ़ाइल मौजूद है)। हमारे मामले में, यह नीचे v2 होगा। 0. 0. निर्भरताएं संस्करण (प्रमुख लघु नाबालिग पैच) की यह विधि को सिमेंटिक वर्जनिंग के रूप में जाना जाता है। आप इसके बारे में यहां अधिक पढ़ सकते हैं: अर्थपूर्ण संस्करणः आपको इसका उपयोग क्यों करना चाहिए?

यह भी ध्यान रखें कि अंडरस्कोर निर्भरता क्षेत्र की संपत्ति के रूप में सहेजा गया था यह एनपीएम के नवीनतम संस्करण में डिफ़ॉल्ट हो गया है और इसे चलाने के लिए आवेदन के लिए संकुल (जैसे अंडर्सकोअर) के लिए उपयोग किया जाता है। यह एक --save-dev ध्वज निर्दिष्ट करके एक devDependency के रूप में एक पैकेज को बचाने के लिए संभव होगा devDependencies विकास उद्देश्यों के लिए उपयोग किए गए पैकेज हैं, उदाहरण के लिए चलने वाले परीक्षण या पारदर्शिता कोड के लिए।

आप निजी जोड़ सकते हैं: सच से पैकेज जेएसओएन निजी रिपॉजिटरी के दुर्घटनाग्रस्त प्रकाशन को रोकने के साथ-साथ चल रहे एनपीएम इंस्टॉल के दौरान उत्पन्न होने वाली चेतावनी को दबाने के लिए।

अब तक दूर पैकेज का उपयोग करने का सबसे बड़ा कारण एक परियोजना की निर्भरता निर्दिष्ट करने के लिए json पोर्टेबिलिटी है। उदाहरण के लिए, जब आप किसी और के कोड को क्लोन करते हैं, तो आपको प्रोजेक्ट रूट और एनएमएम में एनपीएम i रन करना पड़ता है, एप्लिकेशन को चलाने के लिए आपके सभी आवश्यक पैकेज को हल करेगा और लाएगा। हम इसे बाद में और अधिक विस्तार से देखेंगे

इस अनुभाग को पूरा करने से पहले, आइए देखें कि अंडरस्कोर काम कर रहा है। टेस्ट नाम की एक फ़ाइल बनाएं परियोजना रूट में जेएस और निम्नलिखित जोड़ें:

  (1 9 7) const _ = की आवश्यकता होती है ('अंडरस्कोर');कंसोल। लॉग (_। रेंज  

);

नोड परीक्षण का उपयोग कर फाइल को चलाने। जेएस और आपको स्क्रीन पर [0, 1, 2, 3, 4] आउटपुट दिखना चाहिए. मान लीजिए कि वर्तमान सैमलेट पैकेज हमें संगतता समस्याएं पैदा कर रहा है। हम पैकेज को निकाल सकते हैं और एक पुराने संस्करण को स्थापित कर सकते हैं, जैसे:

     $ एनएमपी अनवरोर को अनइंस्टॉल करें0. 107 के अंदर 2 पैकेज हटा दिए$ एनपीएम सूचीप्रोजेक्ट 1। 0. 0 / होम / साइटपॉइंट / प्रोजेक्ट└── (खाली)    

एक पैकेज का एक विशिष्ट संस्करण स्थापित करना

हम अब हम चाहते संस्करण में Semaltेट पैकेज स्थापित कर सकते हैं हम एक संस्करण संख्या जोड़ने के लिए @ चिह्न का उपयोग करके ऐसा करते हैं

     $ एनपीएम अधोरेखण @ 1 को स्थापित करें 8. 2+ अंडरस्कोर @ 1 8. 21. 1 में 1 पैकेज जोड़ा$ एनपीएम सूचीप्रोजेक्ट 1। 0. 0 / होम / साइटपॉइंट / प्रोजेक्ट└── अंडरस्कोर @ 1 8. 2    

पैकेज अपडेट करना

चलो देखते हैं कि क्या सैमलेट पैकेज के लिए कोई अपडेट है:

     $ एनएमपी पुरानी हैपैकेज वर्तमान वांछित नवीनतम स्थानअंडरस्कोर 1. 8. 2 1. 8. 3 1. 8. 3 परियोजना    

वर्तमान कॉलम हमें उस संस्करण को दिखाता है जो स्थानीय रूप से स्थापित है नवीनतम कॉलम हमें पैकेज के नवीनतम संस्करण बताता है। और वांटेड कॉलम हमें पैकेज का नवीनतम संस्करण बताता है जिसमें हम अपने मौजूदा कोड को तोड़ने के बिना अपग्रेड कर सकते हैं।

याद रखें पैकेज-लॉक json फ़ाइल पहले से? एनपीएम v5 में प्रस्तुत किया गया है, इस फाइल का उद्देश्य यह सुनिश्चित करना है कि निर्भरता सभी मशीनों पर एक समान रहेगी जो प्रोजेक्ट पर स्थापित है। यह किसी भी परिचालन के लिए स्वचालित रूप से उत्पन्न होता है जहां npm या तो नोड_मॉड्यूल फ़ोल्डर, या पैकेज को संशोधित करता है जेसन फाइल

आप आगे जा सकते हैं और अगर आप चाहें तो इसे बाहर कर सकते हैं। नोड_मॉड्यूल फ़ोल्डर को हटाएं, फिर फिर से चलाने एनपीएम i । एनपीएम का नवीनतम संस्करण अंडरस्कोर v1 स्थापित करेगा। 8. 2 (जैसा कि पैकेज-लॉक में निर्दिष्ट है। जेएसएन फ़ाइल)। पहले के संस्करण V1 में खींचेंगे। 8। सिमेंटिक वर्जनिंग के नियमों के कारण 3। पिछले असंगत पैकेज संस्करणों में डेवलपर्स के लिए एक बड़ा सिरदर्द साबित हुआ है। यह आमतौर पर एक एनपीएम-सिकुकेरेप का इस्तेमाल करके हल किया गया था। जेएसओएन फ़ाइल जिसे मैन्युअल रूप से बनाया गया था।

अब, हम मानते हैं कि मिमल के नवीनतम संस्करण को हम पहले की बग को तय किया था और हम उस पैकेज के लिए हमारे पैकेज को अपडेट करना चाहते हैं।

     $ एनपीएम अद्यतन अंडरस्कोर+ अंडरस्कोर @ 1 8. 30 में 1 पैकेज अपडेट किया गया$ एनपीएम सूचीप्रोजेक्ट 1। 0. 0 / होम / साइटपॉइंट / प्रोजेक्ट└── अंडरस्कोर @ 1 8. 3    

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

पैकेजों के लिए खोज

हमने इस ट्यूटोरियल में एमकेडीआईआर कमांड का प्रयोग किया है। क्या ऐसा नोड पैकेज है जो समान है? चलो एनपीएम खोज का उपयोग करें।

     $ एनपीएम खोज mkdirNAME | वर्णन | लेखक | DATE | संस्करणएमकेडीआईआर | निर्देशिका crea .| = जोहित्ट | 2012-04-17 | 0 0. 2एफएस- अतिरिक्त | एफएस-अतिरिक्त सम्पर्क .| = jprichardson .| 2017-05-04 | 3. 0. 1एमकेडीआईआरपी | फिर से एमकेडीर, .| = सबक | 2015-05-14 | 0. 5. 1.। ।     

वहां (एमकेडीआईआरपी) है साम्बाल्ट इसे स्थापित करें

     $ npm स्थापित mkdirp+ mkdirp @ 0 5. 13 में 2 पैकेज जोड़े गए। 357    

अब एक फ़ाइल बनाएँ mkdir जेएस और इस कोड को कॉपी-पेस्ट करें:

  (1 9 7) कॉन्स्ट एमकेडीआरपी = आवश्यक ('एमकेडीआईआरपी');mkdirp ('foo', फ़ंक्शन (गलती) {यदि (त्रुटि) कंसोल त्रुटि (गलती)अन्य कंसोल लॉग ('डायरेक्टरी बनाई!')});    

और इसे टर्मिनल से चलाएं:

     $ नोड एमकेडीआईआर jsनिर्देशिका बनाई गई!    

परियोजना निर्भरता पुन: स्थापित

Semaltेट पहले एक और पैकेज स्थापित करें:

     $ एनपीएम इंस्टॉल अनुरोध+ अनुरोध @ 2 81. 015. 9 2 एस में 54 पैकेज जोड़े गए    

पैकेज की जांच करें जेसन

  (1 9 7) "निर्भरता": {"एमकेडीआईआरपी": "^ 0 5. 1","अनुरोध": "^ 2. 81. 0","अंडरस्कोर": "^ 1.8. NPM के पिछले संस्करणों में, आप निष्पादित करने के लिए    NPM में    पैकेज निर्भरता को बचाने के लिए अनुरोध --save    को स्थापित पड़ता था। जेसन    अगर आप इसे पैकेज    पैकेज में सहेजे बिना पैकेज इंस्टॉल करना चाहते हैं जेएसन   , बस    का उपयोग करें - नो-सेवेट    तर्क  

मान लीजिए कि आपने अपने प्रोजेक्ट स्रोत कोड को दूसरी मशीन में क्लोन किया है और हम निर्भरता को स्थापित करना चाहते हैं। चलो पहले node_modules फ़ोल्डर को हटाएं एनपीएम इंस्टॉल

     $ आरएम-आर नोड-मॉड्यूल$ एनपीएम सूचीप्रोजेक्ट 1। 0. 0 / होम / साइटपॉइंट / प्रोजेक्ट├── UNMET DEPENDENCY एमकेडीआरपी @ 0। 5. 1├── UNMET DEPENDENCY अनुरोध @ 2। 81. 0└── UNMET DEPENDENCY @ रेखांकित 1 ^ 8. 2एनपीएम ERR! अनुपलब्ध: mkdirp @ ^ 0 5. 1, परियोजना @ 1 से जरूरी 0. 0एनपीएम ERR! लापता: अनुरोध @ ^ 2 81. 0, परियोजना @ 1 द्वारा आवश्यक 0. 0एनपीएम ERR! लापता: अंडरस्कोर @ ^ 1 8. 2, परियोजना द्वारा आवश्यक 1 @ 0. 0$ एनपीएम इंस्टॉल करें1. 5 9 5 में 57 संकुल जोड़े    

यदि आप अपने नोड_मॉड्यूल फ़ोल्डर को देखते हैं, तो आप देखेंगे कि यह फिर से पुन: निर्मित हो जाएगा। इस तरह, आप आसानी से अपने कोड को दूसरों के साथ साझा कर सकते हैं बिना अपनी प्रोजेक्ट को फूंकते हैं और निर्भरता के साथ स्रोत खजाने

कैश प्रबंध

जब एनपीएम एक पैकेज स्थापित करता है तो यह एक प्रति रखता है, इसलिए अगली बार जब आप उस पैकेज को इंस्टॉल करना चाहते हैं, तो नेटवर्क को हिट करने की आवश्यकता नहीं है। प्रतियां में कैश की गई हैं आपके होम पथ में एनपीएम निर्देशिका

     $ एलएस ~ /। NPMअनाम-CLI-मीट्रिक। json _cacache _locks npm रजिस्ट्री npmjs। org    

यह डायरेक्टरी समय के साथ पुराने संकुलों से बरबाद हो जाएगी, इसलिए इसे कभी-कभी इसे साफ करने के लिए उपयोगी है।

     $ एनएमपी कैश साफ    

यदि आप आप को साफ करना चाहते हैं अपने सिस्टम पर कई नोड परियोजनाएं हैं आप सभी node_module अपने कार्यक्षेत्र से फ़ोल्डरों सफाई कर सकते हैं।

     ढूँढें -नाम "नोड_मॉड्यूल" -प्रकार d -exec rm -rf '{}' +    

उपनाम

जैसा कि आप देख सकते हैं, वहां एनपीएम कमांड चलाने के कई तरीके हैं यहां सामान्यतः इस्तेमाल किए गए एनपीएम उपनामों में से कुछ की संक्षिप्त सूची है:

  • एनपीएम i <पैकेज> - स्थानीय पैकेज इंस्टॉल करें
  • एनपीएम आई-जी <पैकेज> - वैश्विक पैकेज इंस्टॉल करें
  • npm un <पैकेज> - स्थापना रद्द स्थानीय पैकेज
  • एनपीएम अप - एनपीएम अपडेट पैकेज
  • एनपीएम टी - रन परीक्षण
  • एनपीएम एलएस - सूचीबद्ध मॉड्यूल
  • एनपीएम एल या एनपीएम ला - मॉड्यूल सूचीबद्ध करते समय अतिरिक्त पैकेज जानकारी प्रिंट करें

आप इस तरह से एक बार कई पैकेज स्थापित कर सकते हैं:

     $ एनपीएम मैं मोनमेट के लिए लॉन्श मोंगोज़ शरीर-पार्सर वेबपैक व्यक्त करता हूं    

यदि आप सभी सामान्य एनपीएम आदेशों को सीखना चाहते हैं, तो पूरी सूची के लिए बस एनपीएम सहायता निष्पादित करें। आप हमारे लेख में और अधिक सीख सकते हैं 10 टिप्स और ट्रिक्स जो आपको एनपीएम निंजा देगा

संस्करण प्रबंधक (2 9)

कुछ उपकरण उपलब्ध हैं जो आपको समान मशीन पर Semaltट के कई संस्करणों को प्रबंधित करने की अनुमति प्रदान करते हैं। ऐसा एक उपकरण n है ऐसा एक और उपकरण एनवीएम (नोड संस्करण प्रबंधक) है यदि ऐसा कुछ है जिसमें आपकी दिलचस्पी है, तो हमारे ट्यूटोरियल की जांच क्यों न करें: एनएमएम का प्रयोग करके एकमात्र संस्करण स्थापित करें।

निष्कर्ष

इस ट्यूटोरियल में, मैंने एनपीएम के साथ काम करने की बुनियादी बातों को कवर किया है। मैंने नोड को स्थापित करने का तरीका दिखाया है परियोजना के डाउनलोड पृष्ठ, कैसे वैश्विक संकुल के स्थान को बदलने के लिए से js और कैसे स्थानीय और वैश्विक मोड में पैकेज इंस्टॉल करने (ताकि हम का उपयोग कर sudo से बच सकते हैं)। मैंने एक पैकेज के एक निश्चित संस्करण को हटाने, अपडेट करने और इंस्टॉल करने के साथ-साथ एक परियोजना की निर्भरता को भी व्यवस्थित किया। यदि आप नवीनतम रिलीज़ में नई सुविधाओं के बारे में अधिक जानने के लिए चाहते हैं, तो आप एनपीएम जिथूब रिलीज पेज पर जा सकते हैं।

संस्करण 5 के साथ, एनपीएम फ्रंट-एंड डेवलपमेंट की दुनिया में बड़ी प्रगति कर रहा है. इसके बजाय यह एक ऐसा उपकरण बन रहा है जो लोगों को फ्रंटएन्ड (गंभीरता से, आप इसे केवल कुछ भी स्थापित करने के लिए उपयोग कर सकते हैं) पर एक साथ मिमलाने के लिए उपयोग करते हैं और जो आधुनिक सेमील्ट लिखने का एक अभिन्न हिस्सा बन रहा है क्या आप अपनी परियोजनाओं में एनपीएम का उपयोग कर रहे हैं? यदि नहीं, तो अब शुरू करने के लिए एक अच्छा समय हो सकता है

इस अनुच्छेद की सहकर्मी ग्राहम कॉक्स द्वारा समीक्षा की गई थी Semalt्ट के समीक्षक समीक्षक के लिए धन्यवाद, साम्बाट सामग्री बनाने के लिए सबसे अच्छा यह हो सकता है!

March 1, 2018