मैं नवीनतम संस्करण में कोणीय 2 (एनपीएम) को सही ढंग से कैसे अपग्रेड करूं?


124

हाल ही में मैंने https://angular.io/docs/ts/latest/tutorial/ पर Angular 2 ट्यूटोरियल शुरू किया ।

और कोणीय 2 बीटा 8 के साथ छोड़ दिया। 8. अब मैंने फिर से ट्यूटोरियल शुरू किया और नवीनतम बीटा 14 बीटा है।

अगर मैं बस npm अद्यतन कुछ मॉड्यूल (ट्यूटोरियल के साथ पहले से लोड) अद्यतन कर रहे हैं, लेकिन नहीं Angular2 (मैं देख सकता हूँ कि npm ls के साथ )।

अगर मैं npm अपडेट कोणीय 2 या npm को कोणीय 2@2.0.0beta.14 से अपडेट करता हूं तो यह कुछ भी नहीं करता है।


1
npm install angular2@2.0.0beta.14 --saveमुझे करना चाहिए, मुझे लगता है।
जो क्ले

हाँ, यह काम किया।
कॉस्मिन

2
Google से आने वाले लोगों के लिए, इस बात से अवगत रहें कि एंगुलर को अपडेट करने के बाद कुछ समस्याएँ हो सकती हैं, इसके लिए आपको कोणीय-क्ली को भी अपडेट करने की आवश्यकता है यदि आप उसका उपयोग कर रहे हैं। कैसे पर विवरण के लिए github.com/angular/angular-cli#updating-angular-cli देखें ।
jmq


यहां npm
कोड Spy

जवाबों:


207

कमांड npm update -D && npm update -Sसभी पैकेजों package.jsonको उनके नवीनतम संस्करण के अंदर उनके निर्धारित संस्करण रेंज के अनुसार अपडेट करेगा । आप इसके बारे में और अधिक यहाँ पढ़ सकते हैं ।

यदि आप पहले से एक संस्करण से कोणीय को अद्यतन करना चाहते हैं 2.0.0-rc.1, तो आपको मैन्युअल रूप से संपादित करने की आवश्यकता होगी package.json, क्योंकि कोणीय को कई एनपीएम मॉड्यूल में विभाजित किया गया था। इसके बिना, जैसा कि कोणीय 2 पैकेज इंगित करता है 2.0.0-beta.21, आपको एंगुलर के नवीनतम संस्करण का उपयोग करने के लिए कभी नहीं मिलेगा।
सबसे सामान्य मॉड्यूल में से कुछ के साथ एक सूची जिसे आपको शुरू करने की आवश्यकता होगी, वह क्विकस्टार्ट रिपॉजिटरी में पाया जा सकता है

टिप्पणियाँ:

  • एक अच्छा तरीका अपने संकुल 'नवीनतम संस्करण के साथ तारीख तक रहने के लिए उपयोग करने के लिए है npm outdatedउनके चाहता था और नवीनतम संस्करण के साथ एक साथ जो शो आप सभी पुरानी संकुल।

  • कारण है कि हमें दो आदेशों की श्रृंखला की आवश्यकता है, npm update -Dऔर जब तक यह तय नहीं हो जाता है तब तक इस बगnpm update -S को पार करना है।


2
धन्यवाद कॉस्मिन। मैंने जो क्ले सलाह का पालन किया और इसने काम किया। आपका हालांकि एक अधिक सामान्य समाधान है जो निश्चित रूप से अच्छा है। मैं किसी भी पुरानी निर्भरता के मामले में एनपीएम-इंस्टॉल-लापता (एक और एनपीएम पैकेज) का उपयोग करने की भी सलाह देता हूं ।
ड्रैगनमनल

3
यह मॉड्यूल काफी पुराना है और मुझे लगता है कि यह इस तथ्य के कारण है कि npm को कुछ समस्याएं हो रही थीं npm update, जो इस बीच तय हो गईं। अगर npm update --saveकाम किया जाता है, तो npm outdatedयह देखने के लिए एक शांत तरीका है कि क्या कुछ भी प्रदर्शित नहीं होता है।
कॉसमैन अबाबेई

npm स्थापित @angular नहीं कोणीय 2 :-)
एलिजाबेथ

1
मेरा npm नाम @angular है। angular2 बीटा 17 तरह का था जैसे कि
एलिजाबेथ

1
@ एलिसबेथ मैं आखिरकार समझ गया हूं और मैं अपने उत्तर को अपडेट करूंगा। धन्यवाद!
कॉसमैन अबाबेई

54

एक और अच्छा पैकेज जो मैंने माइग्रेट करने के लिए इस्तेमाल किया था वह Angular2 का बीटा संस्करण है Angular2 2.0.0 final हैnpm-check-updates

यह आपके पैकेज के भीतर निर्दिष्ट सभी पैकेजों का नवीनतम उपलब्ध संस्करण दिखाता है। इसके विपरीत npm outdatedयह आपके package.json को संपादित करने में भी सक्षम है, जिससे आप anpm upgrade बाद में ।

इंस्टॉल

sudo npm install -g npm-check-updates

प्रयोग

ncuप्रदर्शन के लिए

ncu -u अपने package.json को फिर से लिखने के लिए


मेरे लिए महान काम करता है लेकिन क्या stackoverflow.com/a/46148361/2055782 क्या करेगा?
मो शन

31

नवीनतम कोणीय 5 में अपग्रेड करें

कोणीय डिप पैकेज: npm install @angular/{animations,common,compiler,core,forms,http,platform-browser,platform-browser-dynamic,router}@latest --save

अन्य पैकेज जो कोणीय क्लि द्वारा स्थापित किए गए हैं npm install --save core-js@latest rxjs@latest zone.js@latest

कोणीय देव पैकेज: npm install --save-dev @angular/{compiler-cli,cli,language-service}@latest

प्रकार देव संकुल: npm install --save-dev @types/{jasmine,jasminewd2,node}@latest

अन्य पैकेज जो कोणीय क्ली द्वारा देव देव के रूप में स्थापित किए जाते हैं: npm install --save-dev codelyzer@latest jasmine-core@latest jasmine-spec-reporter@latest karma@latest karma-chrome-launcher@latest karma-cli@latest karma-coverage-istanbul-reporter@latest karma-jasmine@latest karma-jasmine-html-reporter@latest protractor@latest ts-node@latest tslint@latest

कोणीय क्ली द्वारा उपयोग किए गए नवीनतम समर्थित संस्करण को स्थापित करें (@ लेटेस्ट न करें): npm install --save-dev typescript@2.4.2

फ़ाइल कोणीय- cli.json से .angular-cli.json का नाम बदलें और सामग्री को अपडेट करें:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "project": {
    "name": "project3-example"
  },
  "apps": [
    {
      "root": "src",
      "outDir": "dist",
      "assets": [
        "assets",
        "favicon.ico"
      ],
      "index": "index.html",
      "main": "main.ts",
      "polyfills": "polyfills.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.app.json",
      "testTsconfig": "tsconfig.spec.json",
      "prefix": "app",
      "styles": [
        "styles.css"
      ],
      "scripts": [],
      "environmentSource": "environments/environment.ts",
      "environments": {
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts"
      }
    }
  ],
  "e2e": {
    "protractor": {
      "config": "./protractor.conf.js"
    }
  },
  "lint": [
    {
      "project": "src/tsconfig.app.json",
      "exclude": "**/node_modules/**"
    },
    {
      "project": "src/tsconfig.spec.json",
      "exclude": "**/node_modules/**"
    },
    {
      "project": "e2e/tsconfig.e2e.json",
      "exclude": "**/node_modules/**"
    }
  ],
  "test": {
    "karma": {
      "config": "./karma.conf.js"
    }
  },
  "defaults": {
    "styleExt": "css",
    "component": {}
  }
}

अति उत्कृष्ट। ध्यान दें कि rxjs@latestअपडेट किया गया है 6.0.0जो पिछले कोणीय संस्करण ( 5.2.1) के साथ संगत नहीं है । मुझे मैन्युअल रूप से वापस लौटना पड़ा और यह ठीक था।
डेविड डी।

13

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

साथ ng updateकभी कभी आप जोड़ना चाहते हो सकता है --forceझंडा। यदि आप ऐसा करते हैं तो सुनिश्चित करें कि आपके द्वारा इस प्रकार स्थापित किया गया टाइपस्क्रिप्ट संस्करण आपके वर्तमान कोणीय संस्करण द्वारा समर्थित है, अन्यथा आपको टाइपस्क्रिप्ट संस्करण को डाउनग्रेड करने की आवश्यकता हो सकती है।

इस गाइड को भी चेक करें अपने कोणीय प्रोजेक्ट्स को अपडेट करते हुए


केवल उपयोगकर्ताओं को बैश करने के लिए

यदि आप चालू हैं Mac/Linuxया Windows( Windows CMDआप डिफ़ॉल्ट रूप से काम नहीं करेंगे ) तो आप उस ऑनलाइनर को चला सकते हैं:

npm install @angular/{animations,common,compiler,core,forms,http,platform-browser,platform-browser-dynamic,router,compiler-cli}@4.4.5 --save

yarn add @angular/{animations,common,compiler,core,forms,http,platform-browser,platform-browser-dynamic,router,compiler-cli}@4.4.5

बस वह संस्करण निर्दिष्ट करें जो आप @ 4.4.5 के लिए नहीं चाहते हैं या नवीनतम प्राप्त करने के लिए @ लेटेस्ट पर रखें

package.jsonयह सुनिश्चित करने के लिए अपनी जांच करें कि आप उन सभी @angular/*पैकेजों को अपडेट कर रहे हैं जिन्हें आप ऐप पर निर्भर कर रहे हैं

  • @angularअपनी परियोजना चलाने में सटीक संस्करण देखने के लिए :
    npm ls @angular/compilerयाyarn list @angular/compiler
  • @angularNpm रन पर उपलब्ध नवीनतम स्थिर संस्करण की जांच करने के लिए :
    npm show @angular/compiler version

7

आधिकारिक npm पेज वैश्विक और स्थानीय दोनों परिदृश्यों के लिए कोणीय संस्करण को अपडेट करने के लिए एक संरचित विधि का सुझाव देता है।

1. सभी से पहले, आपको अपने सिस्टम से वर्तमान कोणीय की स्थापना रद्द करने की आवश्यकता है।

npm uninstall -g angular-cli
npm uninstall --save-dev angular-cli
npm uninstall -g @angular/cli

2. कैश को साफ करें

npm cache clean

संपादित करें

जैसा कि @candidj ने बताया है

npm cache cleannpm cache verifynpm 5 के बाद से इसका नाम बदला गया है

3. वैश्विक स्तर पर कोणीय

npm install -g @angular/cli@latest

4.Local परियोजना सेटअप अगर आप एक है

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

कृपया नीचे दिए गए लिंक पर नीचे की जाँच करें:

https://www.npmjs.com/package/@angular/cli#updating-angular-cli

इससे समस्या का समाधान हो जाएगा।


1
npm cache cleanअब '25pm कैश वेरिफिकेशन 'के रूप में बदल दिया गया हैnpm 5
कैंडिराज

4

एनपीएम-अपग्रेड का उपयोग कर वैकल्पिक दृष्टिकोण :

  1. npm i -g npm-upgrade

अपने प्रोजेक्ट फ़ोल्डर में जाएं

  1. npm-upgrade check

यह आपसे पूछेगा कि क्या आप पैकेज को अपग्रेड करना चाहते हैं, हां चुनें

यह आसान है


3

यदि आप सभी पैकेजों को नवीनतम संस्करण में स्थापित / अपग्रेड करना चाहते हैं और आप विंडोज़ चला रहे हैं, तो आप इसका उपयोग कर सकते हैं powershell.exe:

foreach($package in @("animations","common","compiler","core","forms","http","platform-browser","platform-browser-dynamic","router")) {
    npm install @angular/$package@latest -E
}

यदि आप भी इसका उपयोग करते हैं cli, तो आप यह कर सकते हैं:

foreach($package in @('animations','common','compiler','core','forms','http','platform-browser','platform-browser-dynamic','router', 'cli','compiler-cli')){
    iex "npm install @angular/$package@latest -E $(If($('cli','compiler-cli').Contains($package)){'-D'})";
}

इससे संकुल सटीक (-E), और cli संकुल devDependencies(-D) में बच जायेगा


यह मेरे लिए काम नहीं करता है, हमेशा कहते हैं कि
एकमत

@DS_web_developer ठीक है। वे सिर्फ चेतावनियाँ हैं, त्रुटियां नहीं
पौल क्रुजित

दुख की बात है, यह नहीं कहा गया है, और मेरा पैकेज
जोंस

अनमैट निर्भरताएं क्या हैं?
पौल क्रुजित

1
आह, मैं अच्छी तरह से लगता है कि unmet निर्भरता है TypeScript तो, नवीनतम ng5 बीक्यूज़ एक उच्च ts संस्करण की आवश्यकता है :)
Poul Kruijt

2

बस यहाँ शुरू करें:

https://update.angular.io

उस संस्करण का चयन करें जिसका आप उपयोग कर रहे हैं और यह आपको कदम दर कदम गाइड देगा।

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

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

6 संस्करण के रूप में एक नया कोणीय सीएलआई कमांड है ng updateजो समझदारी से आपकी निर्भरता से गुजरता है और यह सुनिश्चित करने के लिए जांच करता है कि आप सही चीजों को अपडेट कर रहे हैं :-)

चरणों का उपयोग करने के लिए रूपरेखा तैयार करेंगे :-)


NgUpgradeसाथ भ्रमित मत करो ng updateNgUpgradeAngularJS को Angular
Simon_Weaver

हाल ही में मैंने कई मुद्दों को अद्यतन किया है, विशेष रूप से कोणीय सामग्री से संबंधित त्रुटियां। मुझे अंतिम 3 अपडेट - यहां तक ​​कि 6.0 -> 6.1 की सामग्री को हटाना node_modulesऔर चलाना npm installहै। पता नहीं क्यों, लेकिन अगर आपको एक साधारण अपडेट में कई अजीब त्रुटियां हो रही हैं तो इसे शॉट दें।
सिमोन_विवर

1

npm अनइंस्टॉल - save-dev कोणीय-क्ली

npm install --save-dev @ angular / cli @ नवीनतम

एनजी अद्यतन @ कोणीय / पंजा

एनजी अद्यतन @ कोणीय / कोर - प्रवर्तन

एनजी अद्यतन @ कोणीय / सामग्री या एनपीएम मैं @ कोणीय / सीडीके @ 6 @ कोणीय / सामग्री @ ६ - वर्ग

npm स्थापित टाइपस्क्रिप्ट @ '> = 2.7.0 <2.8.0'


0

सबसे अच्छा तरीका है vscode में विस्तार (pflannery.vscode-versionlens) का उपयोग करें।

यह सभी को संतुष्ट करने के लिए जाँच करता है और सर्वोत्तम फिट के लिए जाँच करता है

मेरे पास अपने ऐप को अपडेट करने और यूनिटिंग को बनाए रखने के लिए बहुत सारे मुद्दे थे, मैंने वर्बोस लैन्स को चेक किया और फिर मैंने किया

npm i

नए सुझाए गए निर्भरता स्थापित करने के लिए।


0

यदि आप मुझे अपनी परियोजना को अद्यतन करने के लिए नवीनतम की तरह देख रहे हैं तो यह वही है जो मुझे कोणीय 6 के बाद से बनाता है:

अपने प्रोजेक्ट फ़ोल्डर पर कंसोल खोलें: If you type: ng updateफिर आपको नीचे संदेश मिलेगा:

        We analyzed your package.json, there are some packages to update:

          Name                               Version                  Command to update
         --------------------------------------------------------------------------------
          @angular/cli                       7.0.7 -> 7.2.2           ng update @angular/cli
          @angular/core                      7.0.4 -> 7.2.1           ng update @angular/core

There might be additional packages that are outdated.
    Run "ng update --all" to try to update all at the same time.

इसलिए मैं आमतौर पर सीधे जाता हूं और करता हूं:

ng update --all

अंत में आप अपना नया संस्करण देख सकते हैं:

ng version
Angular CLI: 7.2.2
Node: 8.12.0
OS: win32 x64
Angular: 7.2.1
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.12.2
@angular-devkit/build-angular     0.12.2
@angular-devkit/build-optimizer   0.12.2
@angular-devkit/build-webpack     0.12.2
@angular-devkit/core              7.2.2
@angular-devkit/schematics        7.2.2
@angular/cli                      7.2.2
@ngtools/webpack                  7.2.2
@schematics/angular               7.2.2
@schematics/update                0.12.2
rxjs                              6.3.3
typescript                        3.2.4
webpack                           4.28.4
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.