Npm स्थापित करने के लिए --save विकल्प क्या है?


2034

मैंने कुछ ट्यूटोरियल देखा जहां कमांड थी:

npm install --save

--saveविकल्प का क्या अर्थ है?

Google पर उत्तर खोजने में सक्षम नहीं है।


32
@ टॉम- --save: Package will appear in your dependencies.
वायर्डप्राइ

7
आप शॉर्टकट का उपयोग कर सकते हैं -S और -D वहाँ है -Save है और -D '--save-dev है। - सेव (या सिंपल -एस): पैकेज आपकी निर्भरता में दिखाई देगा। -सैव-देव (या सरल-डी): पैकेज आपकी भक्ति पर निर्भर करेगा।
गिल एप्सटेन

5
@WiredPrairie धन्यवाद मैं कोशिश कर रहा था npm install (--help | -h | -help ..)और कुछ भी नहीं।
१०:१४ पर juliangonzalez

2
thx @ दमित्री, मेरा भी यही मुद्दा था। NPM पर आते हैं कि अपने उपकरण के लिए अपने आदमी पृष्ठ पर जोड़ें
Erdinc Ay

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

जवाबों:


2475

अद्यतन npm 5:

एनपीएम 5.0.0 के रूप में , स्थापित मॉड्यूल डिफ़ॉल्ट रूप से एक निर्भरता के रूप में जोड़े जाते हैं, इसलिए --saveविकल्प की अब आवश्यकता नहीं है। अन्य बचत विकल्प अभी भी मौजूद हैं और प्रलेखन के लिए सूचीबद्ध हैं npm install

मूल उत्तर:

संस्करण 5 से पहले, एनपीएम ने बस node_modulesडिफ़ॉल्ट रूप से एक पैकेज स्थापित किया था। जब आप अपने ऐप / मॉड्यूल के लिए निर्भरता स्थापित करने की कोशिश कर रहे थे, तो आपको पहले उन्हें स्थापित करने की आवश्यकता होगी, और फिर उन्हें (उपयुक्त संस्करण संख्या के साथ) dependenciesअपने अनुभाग में जोड़ें package.json

--saveविकल्प के पैकेज के अंदर शामिल करने के लिए NPM निर्देश दिए dependenciesअपने की धारा package.jsonस्वचालित रूप से, इस प्रकार आप एक अतिरिक्त कदम बचत।

इसके अलावा, पूरक विकल्प हैं --save-devऔर --save-optionalजो क्रमशः के तहत devDependenciesऔर पैकेज को बचाते optionalDependenciesहैं। विकास-केवल संकुल, जैसे gruntया आपके परीक्षण पुस्तकालय को स्थापित करते समय यह उपयोगी है ।


139
गंभीरता से, यह कहीं भी प्रलेखित है? मैं इसे Google पर या npmमदद में नहीं ढूंढ सका ।
क्रिश्चियन टेरनस

111
यह अच्छा होगा यदि इसके लिए दस्तावेज़ीकरण दिखाया गया npm install --helpथा जब इसका इस्तेमाल किया गया था।
मार्क स्टोसबर्ग

11
@ जिस्मिथ: एनपीएम 5.0 के रूप में, यह डिफ़ॉल्ट है।
वॉइथोस

3
एनपीएम 5 पर "एनपीएम अपडेट" पैकेज डिफ़ॉल्ट रूप से बदलता है।
इगोर ओकोरोकोव

6
@voithos मेरे लिए NPM 5 पैकेज में पैकेज संस्करण अद्यतन करता है। इससे बचने के लिए मुझे
इगोर ओकोरोकोव

219

निर्भरता में पैकेज जोड़ने के लिए:

npm install my_dep --save

या

npm install my_dep -S

या

npm i my_dep -S

भक्ति में पैकेज जोड़ने के लिए

npm install my_test_framework --save-dev

या

npm install my_test_framework -D

या

npm i my_test_framework -D

package.json यहां छवि विवरण दर्ज करें


30
शॉर्टकट संस्करणों का उपयोग करने से सावधान रहें -S -Dक्योंकि उन्हें अपरकेस होना चाहिए। मैं हमेशा यह गलती करता हूं और npm शिकायत नहीं करता है या इसे पैकेज में शामिल नहीं करता है।
Json

7
यह शिकायत नहीं करता है क्योंकि -s(लोअरकेस) --silentविकल्प के लिए है, और -dलैगवेल जानकारी के लिए है जो दोनों वैध शॉर्टकट हैं।
तन्वी

131

यदि आपके पास package.jsonफ़ाइल नहीं है तो यह कुछ भी नहीं करेगा । npm initएक बनाने के लिए चलाकर प्रारंभ करें । फिर करने के लिए कॉल npm install --saveया npm install --save-devया npm install --save-optionalअद्यतन करेगा package.jsonआपके निर्भरता सूची।


37
बस पता चला कि यह रेट्रोएक्टली (यह लगता है) काम करता है। आप अपना npm install --save-devपहला, फिर npm init और अपना पैकेज चला सकते हैं। जसन पॉपुलेटेड होगा।
जैकब वांग

20

एनपीएम डॉक्टर के अनुसार

यहां छवि विवरण दर्ज करें

तो ऐसा लगता है कि दौड़ने से npm install package_name, पैकेज की निर्भरता स्वचालित रूप से पैकेज में जोड़ दी जानी चाहिए। सही?


1
मुझे लगता है - जब आप
npm

मैं देखता हूं, यह npm config ls -lदिखाता है कि डिफ़ॉल्ट रूप से, save-xxx विकल्प सभी झूठे हैं, केवल सहेजें सही है।
रोरोकोरोर

अगर आप कोई भी मौजूद विकल्प नहीं रखते हैं, तो npm की तरह लगता है कि कोई भी त्रुटि नहीं होगी, जैसे कि - save-xxxxxx। यह सिर्फ इसे अनदेखा करता है और डिफ़ॉल्ट व्यवहार - save- ठेस को प्रभावित करेगा। हो सकता है - कुछ पुराने npm संस्करण से आता है।
लियोन

13

तुम भी उपयोग कर सकते हैं -S, -Dया -Pजिसके लिए ऐप्लिकेशन निर्भरता, एक देव निर्भरता या prod निर्भरता के लिए पैकेज की बचत के समकक्ष हैं। नीचे अधिक एनपीएम शॉर्टकट देखें:

-v: --version
-h, -?, --help, -H: --usage
-s, --silent: --loglevel silent
-q, --quiet: --loglevel warn
-d: --loglevel info
-dd, --verbose: --loglevel verbose
-ddd: --loglevel silly
-g: --global
-C: --prefix
-l: --long
-m: --message
-p, --porcelain: --parseable
-reg: --registry
-f: --force
-desc: --description
-S: --save
-P: --save-prod
-D: --save-dev
-O: --save-optional
-B: --save-bundle
-E: --save-exact
-y: --yes
-n: --yes false
ll and la commands: ls --long

शॉर्टकट की यह सूची निम्न कमांड चलाकर प्राप्त की जा सकती है:

$ npm help 7 config

7

Npm 5 के रूप में, यह उपयोग करने के लिए --save-prod(या -P) की तुलना में अधिक अनुकूल है , --saveलेकिन वही काम कर रहा है, जैसा कि npm इंस्टॉल में बताया गया है । अब तक, --saveअभी भी काम करता है अगर प्रदान की जाती है।


यह हमें पढ़ने की विविधता, विरोधाभास और थ्रेड हाइजैक को बचाने के लिए शीर्ष पर जाने की जरूरत है। SO को मान्य URL के साथ संक्षिप्त जवाब देने की आवश्यकता है ताकि हम CRUD से बच सकें और अपने काम पर लग सकें। (Quora में एक नीरस है 'क्या यह उत्तर प्रासंगिक है' आदि और मैंने इससे पहले भी एसओ को ऐसा करने का सुझाव दिया था) \ n बेकार है कि आधिकारिक नोड डॉक में पुराने (विवादास्पद) विकल्पों का कोई उल्लेख नहीं है और अधिकांश नोड संदर्भ पूर्व लगते हैं -5.0, हमारे सिर को एक स्पिन के लिए भेजना।
किलोज

6

Npm 5 के रूप में, npm अब डिफ़ॉल्ट रूप से सहेजेगा। यदि आप npm को एक समान पुराने फैशन में काम करना चाहते हैं (कोई ऑटोसैव नहीं) तो यह पिछले संस्करणों में कैसे काम कर रहा था, आप नीचे दिए गए ऑटोसव को सक्षम करने के लिए कॉन्फ़िगरेशन विकल्प को अपडेट कर सकते हैं।

npm config set save false

वर्तमान सेटिंग प्राप्त करने के लिए, आप निम्नलिखित कमांड निष्पादित कर सकते हैं:

npm config get save

स्रोत: https://blog.pusher.com/what-you-need-know-npm-5/


6

npm install package_x --save

दिए गए पैकेज (package_x) निर्भरता के अंदर package.json में सहेजे जाएंगे। अगर आप जोड़ते हैं

npm install <<package_x>> --save-dev

तब यह भक्ति के अंदर बचा रहेगा


12
आपका जवाब क्या योगदान देता है कि अन्य उत्तर पहले से ही कवर नहीं किए गए हैं?
पेड्रो ए

@ पेड्रो ए - मेरा संदेह यह है कि आदमी वही पढ़ता है जो वह पढ़ता है; उसके बाद उसके दोस्तों ने उसे वोट दिया।
IAM_AL_X

3

अपने पैकेज पर निर्भरता जोड़ने का आसान (और अधिक भयानक) तरीका है। कमांड लाइन से ऐसा करना है, npm install कमांड को या तो --save या --save-dev से चिह्नित करना, इस बात पर निर्भर करता है कि आप कैसे करना चाहते हैं उस निर्भरता का उपयोग करें।


3

npm install --saveया npm install --save-devक्यों हम अपनी परियोजना में पैकेज स्थापित करते समय इस दो के बीच 1 विकल्प चुनते हैं।

उपरोक्त उत्तर से चीजें स्पष्ट होती हैं जो फ़ाइल में फ़ील्ड में npm install --saveप्रविष्टि और अन्य एक को जोड़ देगा ।dependencypacakage.jsondev-dependency

तो सवाल यह उठता है कि हमें pacakge.json फ़ाइल में हमारे इंस्टॉलेशन मॉड्यूल के प्रवेश की आवश्यकता क्यों है क्योंकि जब भी हम कोड को चेक-इन करते हैं gitया किसी को अपना कोड देते हैं तो हम हमेशा इसे देते हैं या बिना node-modulesइसकी जांच करते हैं क्योंकि यह आकार में बहुत बड़ा है और यहां भी उपलब्ध है आम जगह तो इससे बचने के लिए हम ऐसा करते हैं।

तो फिर कैसे अन्य व्यक्ति को सभी मॉड्यूल मिलेंगे जो विशेष रूप से या उस परियोजना के लिए आवश्यक हैं, इसलिए उत्तर from the package.jsonफ़ाइल है जिसमें उस परियोजना को चलाने या विकसित करने के लिए सभी आवश्यक पैकेजों की प्रविष्टि है।

इसलिए कोड we simply need to run the npm installकमांड मिलने के बाद यह package.json फ़ाइल को पढ़ेगा और आवश्यक आवश्यक संकुल को स्थापित करेगा।


2

npm i (पैकेज का नाम) --save

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

npm मदद स्थापित करें

इसके बाद के संस्करण आदेश में मदद मिलेगी और अधिक विकल्प और सही def.shown तस्वीर में यहां छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.