नवीनतम संस्करण में कोणीय सीएलआई को कैसे अपग्रेड किया जाए


102

उपयोग कर ng --versionमुझे मिला:

@ कोणीय / पंजा: 1.0.0

जो नवीनतम रिलीज उपलब्ध नहीं है।

चूँकि मैंने अपने सिस्टम पर Angular CLI को विश्व स्तर पर स्थापित किया है, इसलिए इसे उन्नत करने के लिए मैंने कोशिश की:

npm update angular-cli -g

लेकिन यह काम नहीं करता है, क्योंकि यह 1.0.0 संस्करण तक रहता है।

जवाबों:


830

GitHub रिपॉजिटरी पर रिपोर्ट किए गए कुछ मुद्दों को पढ़ने के बाद, मुझे इसका हल मिला।

आपके सिस्टम में विश्व स्तर पर स्थापित कोणीय-क्ली पैकेज को अपडेट करने के लिए, आपको चलाने की आवश्यकता है:

npm uninstall -g @angular-cli
npm install -g @angular/cli@latest

आपके सिस्टम पर निर्भर करते हुए, आपको उपरोक्त आदेशों के साथ उपसर्ग करने की आवश्यकता हो सकती है sudo

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

rm -rf node_modules
npm uninstall --save-dev @angular-cli
npm install --save-dev @angular/cli@latest
npm install

GitHub पर इसे इंगित करने के लिए धन्यवाद grizzm0

अपने सीएलआई को अपडेट करने के बाद, आप शायद अपने कोणीय संस्करण को भी अपडेट करना चाहते हैं।

नोट : आप एक पुराने संस्करण से कोणीय CLI 6 + को अद्यतन कर रहे हैं, तो आप को पढ़ने के लिए आवश्यकता हो सकती है इस

संपादित करें : इसके अलावा, यदि आप अभी भी cli के 1.x संस्करण पर थे, तो आपको अपना डेटा बदलने की आवश्यकता angular-cli.jsonहै angular.json, जिसे आप निम्नलिखित कमांड से कर सकते हैं:

ng update @angular/cli --from=1.7.4 --migrate-only

( अधिक जानकारी के लिए इसे देखें)।


3
पेडिटिक अलर्ट: आप GitHub पर रिलीज़ टैब में संस्करणों के बीच बदलाव के बारे में अधिक जानकारी प्राप्त कर सकते हैं। लिंक: github.com/angular/angular-cli/releases
स्तुति वर्मा

14
अपडेट 2017 (npm @ 5): यदि आपको वास्तव में अपने कैश को साफ़ करने की आवश्यकता है: "npm कैश क्लीन --फोर्स"
Neyt

2
क्यों कोणीय-क्ली की स्थापना रद्द करें और पूरे @ कोणीय / क्ली नहीं?
यश डेव

4
कमांड एनपीएम कैश क्लीन रनिंग थ्रो एरर 'एनपीएम @ 5 के रूप में, भ्रष्टाचार मुद्दों से एनपीएम कैश सेल्फी और कैश से निकाले गए डेटा को मान्य होने की गारंटी है। यदि आप सब कुछ संगत करना चाहते हैं, तो इसके बजाय 'npm कैश सत्यापन' का उपयोग करें। ' "यदि आप जबरदस्ती करना चाहते हैं, तो आप जोड़ सकते हैं
प्रवर्तन

1
@PushkalBoganatham @neyt के रूप में कहा गया है, आपको --forceध्वज का उपयोग करने की आवश्यकता है
svict4

149

एनजी 6 + -> 7.0

अपडेट आरएक्सजेएस (आरएक्सजेएस 6.3 पर निर्भर करता है)

npm install -g rxjs-tslint
rxjs-5-to-6-migrate -p src/tsconfig.app.json

हटाना rxjs-compat

फिर कोर पैकेज और क्ली को अपडेट करें:

ng update @angular/cli @angular/core

(वैकल्पिक: Node.js को संस्करण 10 में अपडेट करें जो NG7 में समर्थित है)

ng6 + (Cli 6.0+) : सरलीकृत कमांड की सुविधाएँ

सबसे पहले, अपने Cli को अपडेट करें

npm install -g @angular/cli
npm install @angular/cli
ng update @angular/cli

फिर, अपने मुख्य पैकेजों को अपडेट करें

ng update @angular/core

यदि आप RxJS का उपयोग करते हैं, तो दौड़ें

ng update rxjs

यह आरएक्सजेएस को 6 संस्करण में अपडेट करेगा और rxjs-compatहुड के नीचे पैकेज स्थापित करेगा ।

यदि आप बिल्ड त्रुटियों में भाग लेते हैं, तो मैन्युअल रूप से इंस्टॉल करें:

npm i rxjs-compat
npm i @angular-devkit/build-angular

अंत में, अपने संस्करण की जाँच करें

ng v

निर्माण पर ध्यान दें:

ng6 अब उपयोग नहीं करता intlहैpolyfills.ts

//remove them to avoid errors
import 'intl';
import 'intl/locale-data/jsonp/en';

ng5 + (Cli 1.5+)

npm install @angular/{animations,common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router}@next typescript@2.4.2 rxjs@'^5.5.2'
npm install typescript@2.4.2 --save-exact

ध्यान दें:

  1. लेखन के रूप में Cli 1.6 के लिए समर्थित टाइपस्क्रिप्ट संस्करण 2.5.3 तक है।
  2. यदि उपलब्ध हो तो @next का उपयोग पैकेज को अद्यतन करता है। नवीनतम गैर-बीटा संस्करण प्राप्त करने के लिए @ लेटेस्ट का उपयोग करें।

वैश्विक और स्थानीय पैकेज दोनों को अपडेट करने के बाद, त्रुटियों से बचने के लिए कैश को साफ़ करें:

npm cache verify (recommended)
npm cache clean (for older npm versions)

यहाँ आधिकारिक संदर्भ हैं:

  1. अद्यतन कर रहा है Cli
  2. कोर पैकेज कोर पैकेज को अद्यतन करना ।

4
npm cache clean --force वास्तव में मेरी मदद की
Pini Cheyni

1
क्यों ओह, यह नोट रिलीज़ नोट में क्यों नहीं है!
दिनाई

क्या आप कृपया पुष्टि कर सकते हैं कि आपने RxJS 6 के बारे में क्या कहा है। हर जगह मैं देखो ऐसा लगता है कि v6 नवीनतम स्थिर रिलीज है github.com/ReactiveX/rxjs rxjs-dev.firebaseapp.com
जॉय गफ

1
@JoeyGough अच्छा पकड़! Ng7 rxjs 6.3 पर निर्भर करता है। आपके कमेंट के लिए धन्यवाद। रेफरी: github.com/angular/angular/blob/master/…
Pageii Studio

107

आप बस उपयोग कर सकते हैं

npm install -g angular-cli - अगर आपका पहली बार है

npm install -g @angular/cli@latest - यदि आप पहले से इंस्टॉल हैं, तो अपडेट करने के लिए


37

शक्तिशाली कमांड अंतिम पैकेज को स्थापित और बदल देता है।

मुझे भी ऐसी ही समस्या का समाधान करना पड़ा था। मैंने ठीक कर दिया।

 npm install -g @angular/cli@latest

तथा

npm install --save-dev @angular/cli@latest

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


यह एक स्थानीय कोणीय सीएलआई के लिए काम करेगा, वैश्विक एक को
आगे बढ़ाने के

मेरे वैश्विक cli
रहमतुल्लाह एम


22

निम्नलिखित दृष्टिकोण ने मेरे लिए काम किया:

npm uninstall -g @angular/cli

फिर

npm cache verify

फिर

npm install -g @angular/cli@latest

मैं विंडोज 10 पर काम करता हूं, कभी-कभी मुझे भी इस्तेमाल करना पड़ता था: npm cache clean --forceसाथ ही। यदि आपको स्थापना के दौरान कोई समस्या नहीं है, तो आपको ऐसा करने की आवश्यकता नहीं है।


2
आपको निर्दिष्ट करने की आवश्यकता नहीं है @latest, क्योंकि नवीनतम डिफ़ॉल्ट है।
एम्ब्रोज़ रबियर

यदि यह समाधान आपके लिए काम नहीं करता है: stackoverflow.com/a/58678941/8718377
9

17

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

अपने कोणीय प्रोजेक्ट में स्थानीय सीएलआई को अपडेट करने के लिए इस चरणों का पालन करें:

CLI v6 से शुरू करके आप बस ng updateअपनी निर्भरता को एक नए संस्करण में स्वचालित रूप से अपडेट करने के लिए चला सकते हैं ।

ng update @angular/cli

साथ ng updateकभी कभी आप जोड़ना चाहते हो सकता है --forceझंडा।

आप --allएक ही समय में सभी पैकेजों को अपग्रेड करने के लिए झंडा भी पास कर सकते हैं ।

ng update --all --force

यदि आप सीएलआई को स्थानांतरित करने के लिए बस इसे चलाना चाहते हैं:

ng update @angular/cli --migrateOnly

आप झंडे को भी पारित कर सकते हैं --from=from- संस्करण जहां से माइग्रेट करना है, जैसे --from=1.7.4। यह ध्वज केवल अद्यतन किए जा रहे एकल पैकेज के साथ उपलब्ध है, और केवल माइग्रेशन पर ही।

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

चेकआउट Angular CLI / Angular / NodeJS / Typescriptसंगतता संस्करण यहाँ

इस गाइड को भी चेक करें अपने कोणीय प्रोजेक्ट्स को अपडेट करने के लिए और update.angular.io


OLD ANSWER:
आपको बस इतना करना है कि कोणीय-क्लि-अंतर के साथ अलग -अलग करें और अपने वर्तमान प्रोजेक्ट में परिवर्तन लागू करें।

यहाँ कदम है:

  1. कहते हैं कि तुम 1.4 से जाओ। १.५ तक फिर आप https://github.com/cexbrayat/angular-cli-diff/compare/1.4.0...1.5.0
  2. File changedटैब पर क्लिक करें
  3. अपने वर्तमान प्रोजेक्ट में परिवर्तन लागू करें।
  4. npm install / yarn
  5. सभी npm scripts( अधिक विवरण यहां देखें: https://stackoverflow.com/a/45431592/415078 )

14

@ShinDarth जवाब के अलावा ।

मैंने वही किया जो उन्होंने कहा था, लेकिन मेरे पैकेज ने कोणीय संस्करण को अपडेट नहीं किया, और मुझे पता है कि यह पोस्ट के बारे में है angular-cli, लेकिन मुझे लगता है कि यह भी मदद कर सकता है।

  • ऐसा करने के बाद @ShinDarth ने ऊपर कहा, अपने कोणीय संस्करण को ठीक करने के लिए मुझे एक नई परियोजना तैयार करनी थी जिसमें -ng new projectnameएक पैकेज तैयार हो।
  • नए पैकेज की प्रतिलिपि बनाएँ, फिर अपडेट की आवश्यकता वाले सभी प्रोजेक्ट पैकेजों पर नए पैकेज को पेस्ट करें (याद रखें कि आपके पास निर्भरताएं जोड़ने और पहली पंक्ति पर नाम बदलने के लिए) या आप केवल कॉपी और पेस्ट के बिना संस्करण मैनुअल को बदल सकते हैं।
  • फिर दौड़ो -npm install

अब मेरा ng serveफिर से काम हो रहा है, हो सकता है कि यह सब करने का एक बेहतर तरीका है, अगर कोई जानता है, तो कृपया साझा करें, क्योंकि यह उन सभी परियोजनाओं के साथ करने के लिए एक दर्द है जिसे अपडेट की आवश्यकता है।


मेरे जवाब से अधिक मेरे उत्तर के अतिरिक्त लगता है, इसलिए शायद आप इसे मेरे उत्तर के नीचे टिप्पणी के रूप में ले सकते हैं?
फ्रांसेस्को बोर्ज़ी

7
sry, आप सही हैं लेकिन मुझे आपके उत्तर के लिए एक टिप्पणी करने के लिए 50 प्रतिष्ठा की आवश्यकता है।
लियोनार्डो सूजा पावा

9

कोणीय सीएलआई को एक नए संस्करण में अपडेट करने के लिए, आपको वैश्विक पैकेज और आपके प्रोजेक्ट के स्थानीय पैकेज दोनों को अपडेट करना होगा।

वैश्विक पैकेज:

npm uninstall -g @angular/cli
npm cache clean
# if npm version is > 5 then use `npm cache verify` to avoid errors (or to avoid using --force)
npm install -g @angular/cli@latest

स्थानीय परियोजना पैकेज:

rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell
npm install --save-dev @angular/cli@latest
npm install

स्रोत: जीथूब


3

मेरे मामले में, मैंने स्थानीय रूप से npm install --save-dev कोणीय-cli का उपयोग करके कोणीय-क्ली स्थापित किया है। इसलिए, जब मैं कमांड npm install -g @ angular / cli का उपयोग करता हूं, तो यह यह कहते हुए त्रुटि उत्पन्न करता है कि "आपका वैश्विक कोणीय CLI संस्करण (1.7.3) आपके स्थानीय संस्करण (1.4.9) से अधिक है" । कृपया ध्यान दें कि कोणीय-क्लि, @ कोणीय / cli और @ कोणीय / cli @ नवीनतम दो अलग-अलग cli हैं। यह सभी cli की स्थापना रद्द करता है और फिर npm install -g @ कोणीय / cli @ नवीनतम का उपयोग करके नवीनतम कोणीय cli स्थापित करता है

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