के बीच व्यावहारिक अंतर क्या है npm installऔर केnpm update ? मुझे कब उपयोग करना चाहिए?
के बीच व्यावहारिक अंतर क्या है npm installऔर केnpm update ? मुझे कब उपयोग करना चाहिए?
जवाबों:
के बीच अंतर NPM स्थापित और NPM अद्यतन पैकेज संस्करणों में निर्दिष्ट की हैंडलिंग package.json :
{
"name": "my-project",
"version": "1.0", // install update
"dependencies": { // ------------------
"already-installed-versionless-module": "*", // ignores "1.0" -> "1.1"
"already-installed-semver-module": "^1.4.3" // ignores "1.4.3" -> "1.5.2"
"already-installed-versioned-module": "3.4.1" // ignores ignores
"not-yet-installed-versionless-module": "*", // installs installs
"not-yet-installed-semver-module": "^4.2.1" // installs installs
"not-yet-installed-versioned-module": "2.7.8" // installs installs
}
}
सारांश : केवल एक बड़ा अंतर यह है कि फजी संस्करण के साथ पहले से ही स्थापित मॉड्यूल ...
npm installnpm updateअतिरिक्त रूप से : डिफ़ॉल्ट रूप से installऔर updateअलग-अलग तरीके से निर्भरता को संभालते हैं
npm installहोगा / अद्यतन को स्थापित devDependencies जब तक --productionझंडा जोड़ा जाता हैnpm updateहोगा उपेक्षा devDependencies जब तक --devझंडा जोड़ा जाता हैआखिर क्यों इस्तेमाल करें npm install?
क्योंकि npm installअधिक तब होता है जब आप अपनी निर्भरता को संभालने के अलावा देखते हैं package.json। जैसा कि आप npm स्थापित में देख सकते हैं ...
PATHउपयोग में डालता है )npm install -g <name>--forcenpm install --save somePackage* निर्भरता को बचाने के लिए?
postinstallइंस्टॉल पर चलती हैं, लेकिन अपडेट पर नहीं।
installऔर updateGit यूआरएल, Git टैग, इत्यादि में निर्दिष्ट स्थान पर अलग ढंग से काम package.jsonतो यह उदाहरण के लिए उन मामलों को जोड़ने के लिए बहुत अच्छा होगा।
1.3.0 -> 1.3.1यह इसके समान है ^1.3.0, जहां ^अपडेट प्रमुख संस्करण, यानी 1.3.0 -> 1.4.0।
npm स्थापित उन सभी मॉड्यूल को स्थापित करता है जो package.jsonफ़ाइल और उनकी निर्भरता पर सूचीबद्ध होते हैं ।
npm अद्यतनnode_modules निर्देशिका और उनकी निर्भरता में सभी संकुल अद्यतन करता है।
एनपीएम इंस्टॉल एक्सप्रेस केवल एक्सप्रेस मॉड्यूल और इसकी निर्भरता स्थापित करता है।
npm अपडेट एक्सप्रेस अपडेट एक्सप्रेस एक्सप्रेस मॉड्यूल (npm@2.x से शुरू होकर, यह इसकी निर्भरता को अपडेट नहीं करता है)।
इसलिए अपडेट तब है जब आपके पास पहले से ही मॉड्यूल है और नया संस्करण प्राप्त करना चाहते हैं।
npm installया npm update? या, दूसरे शब्दों में, मैं अब उपयोग कर रहा हूं npm installऔर यह अद्यतन करने के लिए भी लगता है, क्या कोई कारण है कि मुझे कभी क्यों उपयोग करना चाहिए npm update?
updateहमेशा पैकेज.जॉसन की परवाह किए बिना, नवीनतम संस्करण में अपडेट होगा, जबकि installपैकेज.जॉन में दिए गए संस्करण का सम्मान करेगा?
updateमॉड्यूल का नवीनतम संस्करण इंस्टॉल (या अपडेट) करता है। installमॉड्यूल के नवीनतम संस्करण को स्थापित करता है यदि इसे प्रस्तुत नहीं किया गया है तो वर्तमान संस्करण रहता है।
npm updateआपके पैकेज के आधार पर नवीनतम संस्करण में अपडेट होगा। इसे ध्यान दिए बिना। यदि आपके पास "एक्सप्रेस": "3.x" है और आप संस्करण 3.1.0 पर हैं, तो यह नवीनतम 3.x टैग में अपडेट हो जाएगा। यदि 4.x संस्करण है, तो यह नवीनतम स्थापित नहीं करेगा।
ज्यादातर मामलों में, यह npm पर प्रकाशित मॉड्यूल के नवीनतम संस्करण को स्थापित करेगा।
npm install express --save
या नवीनतम संस्करण उपयोग के लिए मॉड्यूल को उन्नत करने के लिए बेहतर:
npm install express@latest --save --force
--save: पैकेज आपकी निर्भरता में दिखाई देगा।
अधिक जानकारी: npm-install
npm install express@latest --save --forceजैसा मैं चाहता था वैसा ही हुआ।
कई भेदों का उल्लेख पहले ही किया जा चुका है। यहाँ एक और है:
चल रहा है npm installअपने स्रोत निर्देशिका के शीर्ष पर विभिन्न लिपियों चलेंगे: prepublish, preinstall, install, postinstall। ये स्क्रिप्ट क्या करते हैं, इस पर निर्भर करते हुए, npm installकेवल निर्भरता स्थापित करने की तुलना में काफी अधिक काम किया जा सकता है।
मेरे पास सिर्फ एक उपयोग का मामला है जहां prepublishकॉल makeकिया Makefileगया था और अगर package.jsonअपडेट हुआ तो निर्भरता लाने के लिए डिज़ाइन किया गया था । npm installभीतर से कॉल Makefileकरने पर अनंत पुनरावृत्ति हो सकती है, जबकि कॉलिंग npm updateने ठीक काम किया, सभी निर्भरताएं स्थापित कीं ताकि निर्माण को आगे बढ़ाया जा सके, भले ही makeइसे सीधे कहा जाए।
redisमॉड्यूल, और other_moduleपुराने संस्करण की आवश्यकता है redis, npm install other_moduleतो गारंटी other_moduleहोगी कि पुराने संस्करण का उपयोग करेगा। other_module/node_modules/redisयदि आवश्यक हो तो इसे जोड़ सकते हैं ।
npm update: नवीनतम नोड मॉड्यूल के साथ स्थापित और अद्यतन करें जो पैकेज में हैं
npm install: नोड मॉड्यूल स्थापित करें जो पैकेज में परिभाषित किए गए हैं। संदेश (अपडेट के बिना)
npm updateबड़ी संख्या में निर्भरता को छोड़ देगा package-lock.json। सभी आवश्यक पैकेज उपलब्ध हैं और package-lock.jsonसही होने के लिए, मुझे हमेशा npm installसही निष्पादन करना होगा npm update।
~1.3?