खोज…


परिचय

नोड पैकेज मैनेजर (एनपीएम) निम्नलिखित दो मुख्य कार्यक्षमताएं प्रदान करता है: नोड के लिए ऑनलाइन रिपॉजिटरी। पैकेज / मॉड्यूल जो search.nodejs.org पर खोज योग्य हैं। Node.js संकुल को स्थापित करने के लिए कमांड लाइन उपयोगिता, Node.js संकुल के संस्करण प्रबंधन और निर्भरता प्रबंधन करते हैं।

वाक्य - विन्यास

पैरामीटर

पैरामीटर उदाहरण
पहुंच npm publish --access=public
बिन npm bin -g
संपादित करें npm edit connect
मदद npm help init
इस में npm init
इंस्टॉल npm install
संपर्क npm link
छटना npm prune
प्रकाशित करना npm publish ./
पुनर्प्रारंभ करें npm restart
शुरू npm start
रुकें npm start
अपडेट करें npm update
संस्करण npm version

संकुल स्थापित करना

परिचय

पैकेज एक ऐसा शब्द है जिसका उपयोग npm द्वारा उपकरणों को दर्शाने के लिए किया जाता है, जिसे डेवलपर्स अपनी परियोजनाओं के लिए उपयोग कर सकते हैं। इसमें लाइब्रेरी और फ्रेमवर्क से लेकर jQuery और AngularJS जैसे सभी कार्य धावकों जैसे कि Gulp.js. संकुल आम तौर पर कहा जाता है एक फ़ोल्डर में आ जाएगा node_modules है, जो भी एक में शामिल होंगे package.json फ़ाइल। इस फ़ाइल में किसी भी निर्भरता सहित सभी पैकेजों के बारे में जानकारी है, जो एक विशेष पैकेज का उपयोग करने के लिए आवश्यक अतिरिक्त मॉड्यूल हैं।

Npm पैकेजों को स्थापित और प्रबंधित करने दोनों के लिए कमांड लाइन का उपयोग करता है, इसलिए npm का उपयोग करने का प्रयास करने वाले उपयोगकर्ताओं को अपने ऑपरेटिंग सिस्टम पर मूल आदेशों से परिचित होना चाहिए: ट्रैवर्सिंग निर्देशिकाओं के साथ-साथ निर्देशिकाओं की सामग्री को देखने में सक्षम होना।


एनपीएम स्थापित करना

ध्यान दें कि पैकेज स्थापित करने के लिए, आपके पास एनपीएम स्थापित होना चाहिए।

एनपीएम को स्थापित करने का अनुशंसित तरीका Node.js डाउनलोड पृष्ठ से किसी एक इंस्टॉलर का उपयोग करना है। आप यह देखने के लिए देख सकते हैं कि क्या आपके पास पहले से ही npm npm -v या npm version कमांड चलाकर नोड। Js स्थापित है।

Node.js इंस्टॉलर के माध्यम से NPM को स्थापित करने के बाद, अपडेट के लिए जाँच करना सुनिश्चित करें। ऐसा इसलिए है क्योंकि एनपीएम Node.js इंस्टॉलर की तुलना में अधिक बार अपडेट होता है। अद्यतनों की जाँच के लिए निम्नलिखित कमांड चलाएँ:

npm install npm@latest -g

पैकेज कैसे स्थापित करें

एक या एक से अधिक पैकेज स्थापित करने के लिए निम्नलिखित का उपयोग करें:

npm install <package-name>
# or
npm i <package-name>...

# e.g. to install lodash and express
npm install lodash express

नोट : यह उस पैकेज को निर्देशिका में स्थापित करेगा जो वर्तमान में कमांड लाइन में है, इस प्रकार यह जांचना महत्वपूर्ण है कि क्या उपयुक्त निर्देशिका को चुना गया है

यदि आपके पास पहले से ही अपनी मौजूदा वर्किंग डायरेक्टरी में एक package.json फाइल है और उस पर निर्भरताएँ परिभाषित की गई हैं, तो npm install स्वतः ही फाइल में सूचीबद्ध सभी निर्भरता को हल और इंस्टॉल कर देगा। आप npm install कमांड का शॉर्टहैंड संस्करण भी उपयोग कर सकते हैं जो है: npm i

यदि आप पैकेज उपयोग का एक विशिष्ट संस्करण स्थापित करना चाहते हैं:

npm install <name>@<version>

# e.g. to install version 4.11.1 of the package lodash
npm install [email protected]

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

npm install <name>@<version range>

# e.g. to install a version which matches "version >= 4.10.1" and "version < 4.11.1"
# of the package lodash
npm install lodash@">=4.10.1 <4.11.1"

यदि आप नवीनतम संस्करण का उपयोग करना चाहते हैं:

npm install <name>@latest

ऊपर बताए गए आदेशों केंद्रीय में संकुल के लिए खोज करेंगे npm पर भंडार npmjs.com । यदि आप npm रजिस्ट्री से स्थापित नहीं होना चाहते हैं, तो अन्य विकल्प समर्थित हैं, जैसे:

# packages distributed as a tarball
npm install <tarball file>
npm install <tarball url>

# packages available locally
npm install <local path>

# packages available as a git repository
npm install <git remote url>

# packages available on GitHub
npm install <username>/<repository>

# packages available as gist (need a package.json)
npm install gist:<gist-id>

# packages from a specific repository
npm install --registry=http://myreg.mycompany.com <package name>

# packages from a related group of packages 
# See npm scope
npm install @<scope>/<name>(@<version>)

# Scoping is useful for separating private packages hosted on private registry from
# public ones by setting registry for specific scope
npm config set @mycompany:registry http://myreg.mycompany.com
npm install @mycompany/<package name>

आमतौर पर, मॉड्यूल स्थानीय रूप से node_modules नामक एक फ़ोल्डर में स्थापित किया जाएगा, जो आपके वर्तमान कार्यशील निर्देशिका में पाया जा सकता है। यह निर्देशिका की require() मॉड्यूल का उपयोग करने के लिए उन्हें आपके लिए उपलब्ध कराने के लिए उपयोग करेगा।

आप पहले से ही एक बनाया था, तो package.json फ़ाइल, तो आप उपयोग कर सकते हैं --save (संक्षेप -S करने के लिए) विकल्प या उसके संस्करण में से एक स्वचालित रूप से आपके लिए स्थापित पैकेज जोड़ने package.json एक निर्भरता के रूप में। यदि कोई व्यक्ति आपके पैकेज को स्थापित करता है, तो npm स्वचालित रूप से package.json फ़ाइल से निर्भरताएँ पढ़ लेगा और सूचीबद्ध संस्करणों को स्थापित कर देगा। ध्यान दें कि आप अभी भी बाद में फ़ाइल को संपादित करके अपनी निर्भरता जोड़ सकते हैं और प्रबंधित कर सकते हैं, इसलिए आमतौर पर निर्भरता का ट्रैक रखना एक अच्छा विचार है, उदाहरण के लिए:

npm install --save <name> # Install dependencies 
# or
npm install -S <name> # shortcut version --save 
# or
npm i -S <name>

पैकेजों को स्थापित करने और उन्हें बचाने के लिए केवल अगर उन्हें विकास के लिए आवश्यक है, न कि उन्हें चलाने के लिए, न कि यदि उन्हें चलाने के लिए आवेदन की आवश्यकता है, तो निम्न आदेश का पालन करें:

npm install --save-dev <name> # Install dependencies for development purposes
# or
npm install -D <name> # shortcut version --save-dev
# or
npm i -D <name>

निर्भरता स्थापित करना

कुछ मॉड्यूल न केवल आपको उपयोग करने के लिए एक पुस्तकालय प्रदान करते हैं, बल्कि वे एक या एक से अधिक बायनेरिज़ भी प्रदान करते हैं, जिन्हें कमांड लाइन के माध्यम से उपयोग करने का इरादा है। यद्यपि आप अभी भी उन पैकेजों को स्थानीय रूप से स्थापित कर सकते हैं, अक्सर उन्हें विश्व स्तर पर स्थापित करना पसंद किया जाता है ताकि कमांड-लाइन टूल को सक्षम किया जा सके। उस स्थिति में, npm स्वचालित रूप से बायनेरिज़ को उपयुक्त पथों (जैसे /usr/local/bin/<name> ) से npm , ताकि उन्हें कमांड लाइन से उपयोग किया जा सके। विश्व स्तर पर पैकेज स्थापित करने के लिए, उपयोग करें:

npm install --global <name>
# or
npm install -g <name>
# or
npm i -g <name>

# e.g. to install the grunt command line tool
npm install -g grunt-cli

यदि आप वर्तमान कार्यक्षेत्र में सभी स्थापित पैकेजों और उनसे जुड़े संस्करणों की सूची देखना चाहते हैं, तो उपयोग करें:

npm list
npm list <name>

एक वैकल्पिक नाम तर्क जोड़ना एक विशिष्ट पैकेज के संस्करण की जांच कर सकता है।


नोट: यदि आप विश्व स्तर पर एक npm मॉड्यूल स्थापित करने की कोशिश करते समय अनुमति के मुद्दों में भाग लेते हैं, तो समस्या को दूर करने के लिए sudo npm install -g ... जारी करने के प्रलोभन का विरोध करें। उन्नत विशेषाधिकारों के साथ आपके सिस्टम पर चलने के लिए तृतीय-पक्ष स्क्रिप्ट को देना खतरनाक है। अनुमति समस्या का मतलब हो सकता है कि आपके पास कोई समस्या है जिस तरह से npm स्वयं स्थापित किया गया था। यदि आप सैंडबॉक्स वाले उपयोगकर्ता वातावरण में नोड स्थापित करने में रुचि रखते हैं, तो आप nvm का उपयोग करने का प्रयास कर सकते हैं

यदि आपके पास उपकरण, या अन्य विकास-केवल निर्भरताएँ (जैसे ग्रन्ट) हैं, तो आप उन्हें पोस्ट किए गए एप्लिकेशन के साथ बंडल नहीं करना चाह सकते हैं। अगर ऐसी बात है, तो आप एक विकास निर्भरता, जो में सूचीबद्ध है के रूप में यह चर्चा करना चाहेंगे package.json तहत devDependencies । एक पैकेज केवल विकास-निर्भरता के रूप में स्थापित करने के लिए, उपयोग --save-dev (या -D )।

npm install --save-dev <name> // Install development dependencies which is not included in production 
# or
npm install -D <name>

आप देखेंगे कि पैकेज को तब आपके package.json की devDependencies में जोड़ा गया है।

एक डाउनलोड / क्लोन नोड.जेएस परियोजना की निर्भरता स्थापित करने के लिए, आप बस उपयोग कर सकते हैं

npm install
# or
npm i

npm स्वचालित रूप से package.json से निर्भरताएँ पढ़ेगा और उन्हें स्थापित करेगा।

एनपीएम एक प्रॉक्सी सर्वर के पीछे

यदि आपका इंटरनेट एक्सेस एक प्रॉक्सी सर्वर के माध्यम से है, तो आपको दूरस्थ रिपॉजिटरी तक पहुंचने वाले एनपीएम इंस्टॉल कमांड को संशोधित करने की आवश्यकता हो सकती है। npm एक कॉन्फ़िगरेशन फ़ाइल का उपयोग करता है जिसे कमांड लाइन के माध्यम से अपडेट किया जा सकता है:

npm config set

आप अपने ब्राउज़र की सेटिंग पैनल से अपनी प्रॉक्सी सेटिंग का पता लगा सकते हैं। एक बार जब आप प्रॉक्सी सेटिंग्स (सर्वर URL, पोर्ट, उपयोगकर्ता नाम और पासवर्ड) प्राप्त कर लेते हैं; आपको निम्नानुसार अपने npm कॉन्फ़िगरेशन को कॉन्फ़िगर करने की आवश्यकता है।

$ npm config set proxy http://<username>:<password>@<proxy-server-url>:<port>
$ npm config set https-proxy http://<username>:<password>@<proxy-server-url>:<port>

username , password , port फ़ील्ड वैकल्पिक हैं। एक बार जब आप ये सेट कर लेते हैं, तो आपका npm install , npm i -g आदि ठीक से काम करेगा।

स्कोप और रिपॉजिटरी

# Set the repository for the scope "myscope"
npm config set @myscope:registry http://registry.corporation.com

# Login at a repository and associate it with the scope "myscope"
npm adduser --registry=http://registry.corporation.com --scope=@myscope

# Install a package "mylib" from the scope "myscope"
npm install @myscope/mylib

यदि आपके खुद के पैकेज का नाम @myscope शुरू होता है और स्कोप "myscope" एक अलग रिपॉजिटरी के साथ जुड़ा हुआ है, तो npm publish आपके रिपॉजिटरी के बजाय आपके पैकेज को अपलोड करेगा।

आप इन सेटिंग्स को .npmrc फ़ाइल में भी जारी रख सकते हैं:

@myscope:registry=http://registry.corporation.com
//registry.corporation.com/:_authToken=xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxx

यह उपयोगी है जब एक CI सर्वर पर निर्माण को स्वचालित करते हुए fe

संकुल की स्थापना रद्द करना

एक या अधिक स्थानीय रूप से स्थापित संकुल की स्थापना रद्द करने के लिए, उपयोग करें:

npm uninstall <package name>

Npm के लिए अनइंस्टॉल कमांड में पांच उपनाम हैं जिनका उपयोग भी किया जा सकता है:

npm remove <package name>
npm rm <package name>
npm r <package name>

npm unlink <package name>
npm un <package name>

आप से पैकेज को निकाल करना चाहते हैं package.json स्थापना रद्द करने के भाग के रूप फ़ाइल, का उपयोग --save (: आशुलिपि झंडा -S ):

npm uninstall --save <package name>
npm uninstall -S <package name>

विकास निर्भरता के लिए, --save-dev ध्वज (आशुलिपि --save-dev -D ) का उपयोग करें:

npm uninstall --save-dev <package name>
npm uninstall -D <package name>

एक वैकल्पिक निर्भरता के लिए, --save-optional ध्वज (शॉर्टहैंड: -O ) का उपयोग करें:

npm uninstall --save-optional <package name>
npm uninstall -O <package name>

उन पैकेजों के लिए जो विश्व स्तर पर स्थापित हैं --global फ्लैग (शॉर्टहैंड: -g ):

npm uninstall -g <package name>

बुनियादी शब्दार्थ संस्करण

एक पैकेज प्रकाशित करने से पहले आपको इसे संस्करण में लाना होगा। npm सिमेंटिक वर्जनिंग का समर्थन करता है, इसका मतलब है कि पैच, माइनर और प्रमुख रिलीज़ हैं।

उदाहरण के लिए, यदि आपका पैकेज संस्करण 1.2.3 पर है तो आपको संस्करण बदलना होगा:

  1. पैच रिलीज़: npm version patch => 1.2.4
  2. मामूली रिलीज: npm version minor => 1.3.0
  3. प्रमुख रिलीज़: npm version major => 2.0.0

आप इसके साथ सीधे एक संस्करण भी निर्दिष्ट कर सकते हैं:

npm version 3.1.4 => 3.1.4

जब आप ऊपर npm कमांड में से एक का उपयोग करके एक पैकेज संस्करण सेट करते हैं, तो npm पैकेज.json फ़ाइल के संस्करण फ़ील्ड को संशोधित करेगा, इसे कमिट करेगा, और "v" के साथ उपसर्गित संस्करण के साथ एक नया Git टैग भी बनाएगा, जैसे कि आप 'ने आदेश जारी किया:

git tag v3.1.4

बोवर जैसे अन्य पैकेज प्रबंधकों के विपरीत, npm रजिस्ट्री हर संस्करण के लिए बनाए जा रहे Git टैग पर निर्भर नहीं करती है। लेकिन, यदि आपको टैग का उपयोग करना पसंद है, तो आपको पैकेज संस्करण को टक्कर देने के बाद नए बनाए गए टैग को धकेलना याद रखना चाहिए:

git push origin master (पैकेज में बदलाव को पुश करने के लिए। json)

git push origin v3.1.4 (नए टैग को पुश करने के लिए)

या आप एक झपट्टा में ऐसा कर सकते हैं:

git push origin master --tags

पैकेज कॉन्फ़िगरेशन सेट करना

Node.js पैकेज कॉन्फ़िगरेशन एक फ़ाइल में निहित होता है जिसे package.json कहा जाता है जिसे आप प्रत्येक प्रोजेक्ट के मूल में पा सकते हैं। आप कॉल करके एक नई कॉन्फ़िगरेशन फ़ाइल सेट कर सकते हैं:

npm init

Git रिपॉजिटरी जानकारी (यदि यह मौजूद है) के लिए वर्तमान कार्यशील निर्देशिका को पढ़ने की कोशिश करेंगे और आपके लिए प्लेसहोल्डर मानों को स्वत: पूर्ण करने के लिए पर्यावरण चर। अन्यथा, यह मूल विकल्पों के लिए एक इनपुट संवाद प्रदान करेगा।

यदि आप एक package.json बनाना चाहते हैं package.json डिफ़ॉल्ट मानों के साथ एक package.json उपयोग करें:

npm init --yes
# or
npm init -y 

यदि आप किसी ऐसे package.json लिए एक package.json बना रहे हैं, जिसे आप एक npm पैकेज के रूप में प्रकाशित नहीं करने जा रहे हैं (यानी पूरी तरह से अपनी निर्भरता को बढ़ाने के उद्देश्य से), तो आप अपने package.json में इस इरादे को व्यक्त कर सकते हैं package.json फ़ाइल:

  1. आकस्मिक प्रकाशन को रोकने के लिए वैकल्पिक रूप से private संपत्ति को सही पर सेट करें।
  2. वैकल्पिक रूप से दूसरों को आपके पैकेज का उपयोग करने के अधिकार से वंचित करने के लिए license संपत्ति को "UNLICENSED" पर सेट करें।

एक पैकेज स्थापित करने के लिए और स्वचालित रूप से इसे अपने package.json सहेजें package.json

npm install --save <package>

पैकेज और संबंधित मेटाडेटा (जैसे पैकेज संस्करण) आपकी निर्भरता में दिखाई देगा। यदि आप एक विकास निर्भरता ( --save-dev ) का उपयोग करते हुए --save-dev करते हैं, तो पैकेज इसके बजाय आपकी devDependencies में दिखाई देगा।

इस नंगे हड्डियों के package.json साथ package.json , आपको package.json स्थापित या अपग्रेड करते समय चेतावनी संदेश देगा, आपको package.json कि आप एक विवरण और रिपॉजिटरी क्षेत्र को याद कर रहे हैं। हालांकि इन संदेशों को अनदेखा करना सुरक्षित है, आप किसी भी टेक्स्ट एडिटर में पैकेज को खोलकर और JSON ऑब्जेक्ट में निम्नलिखित पंक्तियों को जोड़कर उनसे छुटकारा पा सकते हैं:

[...]
"description": "No description",
"repository": {
  "private": true
},
[...]

पैकेज प्रकाशित करना

सबसे पहले, सुनिश्चित करें कि आपने अपना पैकेज कॉन्फ़िगर किया है (जैसा कि पैकेज कॉन्फ़िगरेशन स्थापित करने में कहा गया है )। फिर, आपको npmjs पर लॉग इन करना होगा।

यदि आपके पास पहले से ही एक npm उपयोगकर्ता है

npm login

यदि आपके पास उपयोगकर्ता नहीं है

npm adduser

यह जांचने के लिए कि आपका उपयोगकर्ता वर्तमान क्लाइंट में पंजीकृत है

npm config ls

उसके बाद, जब आपका पैकेज प्रकाशित होने के लिए तैयार हो

npm publish

और आप कर रहे हैं।

यदि आपको एक नया संस्करण प्रकाशित करने की आवश्यकता है, तो सुनिश्चित करें कि आप अपने पैकेज संस्करण को अपडेट करें, जैसा कि बेसिक सिमेंटिक वर्जनिंग में कहा गया है। अन्यथा, npm आपको पैकेज प्रकाशित नहीं करने देगा।

{
    name: "package-name",
    version: "1.0.4"
}

स्क्रिप्ट चल रही है

आप उदाहरण के लिए, अपने package.json में स्क्रिप्ट परिभाषित कर सकते हैं:

{
  "name": "your-package",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "author": "",
  "license": "ISC",
  "dependencies": {},
  "devDependencies": {},
  "scripts": {
    "echo": "echo hello!"
  }
}

echo स्क्रिप्ट को चलाने के लिए कमांड लाइन से npm run echo । मनमानी स्क्रिप्ट, जैसे कि ऊपर की echo , को npm run <script name> साथ चलाया जाना चाहिए। npm में कई आधिकारिक स्क्रिप्ट भी हैं जो यह पैकेज के जीवन के कुछ चरणों (जैसे preinstall ) पर चलती है। पूरी जानकारी के लिए यहाँ देखें कि कैसे npm स्क्रिप्ट फ़ील्ड को हैंडल करता है।

npm स्क्रिप्ट्स का इस्तेमाल अक्सर सर्वर को शुरू करने, प्रोजेक्ट बनाने और परीक्षण चलाने जैसी चीजों के लिए किया जाता है। यहाँ एक और अधिक यथार्थवादी उदाहरण है:

  "scripts": {
    "test": "mocha tests",
    "start": "pm2 start index.js"
  }

scripts प्रविष्टियों में, mocha जैसे कमांड-लाइन प्रोग्राम वैश्विक या स्थानीय स्तर पर स्थापित होने पर काम करेंगे। यदि कमांड लाइन प्रविष्टि सिस्टम PATH में मौजूद नहीं है, तो npm आपके स्थानीय रूप से स्थापित पैकेजों की भी जाँच करेगा।

यदि आपकी स्क्रिप्ट बहुत लंबी हो जाती है, तो उन्हें भागों में विभाजित किया जा सकता है, जैसे:

  "scripts": {
    "very-complex-command": "npm run chain-1 && npm run chain-2",
    "chain-1": "webpack",
    "chain-2": "node app.js"
  }

विलुप्त पैकेजों को हटाना

बाहरी पैकेजों को हटाने के लिए (संकुल जो कि निर्भरता सूची में नहीं हैं, लेकिन निम्नलिखित कमांड चलाते हैं):

npm prune

सभी dev पैकेजों को हटाने के लिए - --production ध्वज जोड़ें:

npm prune --production

इस पर अधिक

लिस्टिंग वर्तमान में स्थापित संकुल

वर्तमान में स्थापित पैकेजों की एक सूची (ट्री व्यू) उत्पन्न करने के लिए, उपयोग करें

npm list

ls , la और ll सूची कमांड के उपनाम हैं। la और ll कमांड विवरण और रिपॉजिटरी जैसी विस्तारित जानकारी दिखाता है।

विकल्प

प्रतिक्रिया स्वरूप को पासिंग विकल्प द्वारा बदला जा सकता है।

npm list --json
  • json - json फॉर्मेट में जानकारी दिखाता है
  • लंबी - विस्तारित जानकारी दिखाता है
  • पार्सवेबल - ट्री के बजाय पार्स करने योग्य सूची दिखाता है
  • वैश्विक - वैश्विक रूप से स्थापित पैकेज दिखाता है
  • गहराई - निर्भरता पेड़ की अधिकतम प्रदर्शन गहराई
  • देव / विकास - भक्ति पर निर्भरता दिखाता है
  • ठेस / उत्पादन - निर्भरता दर्शाता है

आप चाहें तो पैकेज के होम पेज पर भी जा सकते हैं।

npm home <package name>

Npm और संकुल को अद्यतन करना

चूंकि npm अपने आप में एक Node.js मॉड्यूल है, इसलिए इसे स्वयं का उपयोग करके अपडेट किया जा सकता है।

यदि ओएस विंडोज है तो एडमिन के रूप में कमांड प्रॉम्प्ट चलाना चाहिए

npm install -g npm@latest

यदि आप अपडेट किए गए संस्करणों की जांच करना चाहते हैं, तो आप कर सकते हैं:

npm outdated

एक विशिष्ट पैकेज को अद्यतन करने के लिए:

npm update <package name>

यह पैकेज में नवीनतम संस्करण के अनुसार पैकेज को अद्यतन करेगा। पैकेज में

मामले में आप भी पैकेज में अद्यतन संस्करण को बंद करना चाहते हैं।

npm update <package name> --save

विशिष्ट संस्करणों के लिए लॉकिंग मॉड्यूल

डिफ़ॉल्ट रूप से, npm प्रत्येक निर्भरता के सिमेंटिक संस्करण के अनुसार मॉड्यूल के नवीनतम उपलब्ध संस्करण को स्थापित करता है। यह समस्याग्रस्त हो सकता है अगर एक मॉड्यूल लेखक सेमेस्टर का पालन नहीं करता है और उदाहरण के लिए, मॉड्यूल अपडेट में ब्रेकिंग परिवर्तन का परिचय देता है।

node_modules फ़ोल्डर में स्थानीय स्तर पर स्थापित विशिष्ट संस्करण के लिए प्रत्येक निर्भरता के संस्करण (और उनकी निर्भरता के संस्करण, आदि) को लॉक करने के लिए उपयोग करें

npm shrinkwrap

यह तब आपके package.json साथ npm-shrinkwrap.json साथ एक npm-shrinkwrap.json बनाएगा package.json जो कि निर्भरता के विशिष्ट संस्करणों को सूचीबद्ध करता है।

विश्व स्तर पर स्थापित पैकेजों के लिए सेटिंग

आप एक पैकेज "विश्व स्तर पर" स्थापित npm install -g लिए npm install -g का उपयोग कर सकते हैं। यह आमतौर पर एक निष्पादन योग्य स्थापित करने के लिए किया जाता है जिसे आप चलाने के लिए अपने पथ में जोड़ सकते हैं। उदाहरण के लिए:

npm install -g gulp-cli

आप अपने पथ अद्यतन हैं, तो आप कॉल कर सकते हैं gulp सीधे।

कई OSes पर, npm install -g एक निर्देशिका को लिखने का प्रयास करेगा जो आपके उपयोगकर्ता को इस तरह से लिखने में सक्षम नहीं हो सकता है जैसे /usr/bin । आपको इस मामले में sudo npm install उपयोग नहीं करना चाहिए क्योंकि sudo साथ मनमाना स्क्रिप्ट चलाने का एक संभावित सुरक्षा जोखिम है और रूट उपयोगकर्ता आपके घर में निर्देशिका बना सकता है जिसे आप नहीं लिख सकते हैं जिससे भविष्य की स्थापना और अधिक कठिन हो जाती है।

आप अपनी कॉन्फ़िगरेशन फ़ाइल, ~/.npmrc माध्यम से वैश्विक मॉड्यूल स्थापित करने के लिए npm बता सकते हैं। इसे prefix कहा जाता है जिसे आप npm prefix साथ देख सकते हैं।

prefix=~/.npm-global-modules

जब भी आप npm install -g चलाते हैं, तो यह उपसर्ग का उपयोग करेगा। जब आप स्थापित करते हैं तो आप उपसर्ग सेट npm install --prefix ~/.npm-global-modules का भी उपयोग कर सकते हैं। यदि उपसर्ग आपके कॉन्फ़िगरेशन के समान है, तो आपको -g का उपयोग करने की आवश्यकता नहीं है।

विश्व स्तर पर स्थापित मॉड्यूल का उपयोग करने के लिए, इसे आपके रास्ते पर होना चाहिए:

export PATH=$PATH:~/.npm-global-modules/bin

अब जब आप चलाने npm install -g gulp-cli आप का उपयोग करने में सक्षम होंगे gulp

नोट: जब आप npm install (बिना -g ) उपसर्ग के package.json साथ डायरेक्टरी होगी package.json यदि पदानुक्रम में कोई नहीं पाया जाता है तो वर्तमान निर्देशिका। यह एक निर्देशिका node_modules/.bin भी बनाता है जिसमें निष्पादक होते हैं। यदि आप एक निष्पादन योग्य का उपयोग करना चाहते हैं जो किसी परियोजना के लिए विशिष्ट है, तो npm install -g का उपयोग करना आवश्यक नहीं है। आप एक का उपयोग कर सकते हैं node_modules/.bin

तेजी से डिबगिंग और विकास के लिए परियोजनाओं को जोड़ना

प्रोजेक्ट निर्भरता निर्माण कभी-कभी एक थकाऊ काम हो सकता है। एनपीएम को पैकेज संस्करण प्रकाशित करने और परिवर्तनों का परीक्षण करने के लिए निर्भरता स्थापित करने के बजाय, npm link उपयोग npm linknpm link एक सिम्लिंक बनाता है ताकि स्थानीय वातावरण में नवीनतम कोड का परीक्षण किया जा सके। यह प्रकाशित संस्करण बनाने से पहले नवीनतम कोड को चलाने की अनुमति देकर वैश्विक उपकरणों और परियोजना निर्भरता को आसान बनाता है।

मदद पाठ

NAME
       npm-link - Symlink a package folder

SYNOPSIS
         npm link (in package dir)
         npm link [<@scope>/]<pkg>[@<version>]

         alias: npm ln

परियोजना निर्भरता को जोड़ने के लिए कदम

निर्भरता लिंक बनाते समय, ध्यान दें कि पैकेज का नाम वह है जो मूल परियोजना में संदर्भित होने वाला है।

  1. सीडी एक निर्भरता निर्देशिका में (उदा: cd ../my-dep )
  2. npm link
  3. निर्भरता का उपयोग करने जा रहा है कि परियोजना में सीडी
  4. npm link my-dep या अगर नामस्थान npm link @namespace/my-dep

एक वैश्विक उपकरण को जोड़ने के लिए कदम

  1. प्रोजेक्ट डायरेक्टरी में CD (उदा: cd eslint-watch )
  2. npm link
  3. उपकरण का उपयोग करें
  4. esw --quiet

समस्याएं जो उत्पन्न हो सकती हैं

यदि निर्भरता या वैश्विक उपकरण पहले से स्थापित है, तो लिंकिंग प्रोजेक्ट कभी-कभी समस्याएँ पैदा कर सकते हैं। npm uninstall (-g) <pkg> और फिर npm link चलाना आम तौर पर किसी भी समस्या को हल करता है जो उत्पन्न हो सकता है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow