2016-07-08 117 views
0

在他們的網站中使用angular2和以下angular2指南後,我試着移動到angular2-cli,但angular2-cli項目沒有最新的依賴關係,所以編譯器給了我一些錯誤關於代碼中的一些命令。在angular2-cli項目中升級角度2依賴項

我想升級所有的依賴,如核心,路由器和更多。 最新的路由器需要最新的核心,但當我嘗試做:npm install core -g,我得到了很多錯誤。

什麼是最好的和快速的方式來升級所有存在的依賴關係?

這裏有角CLI和角網站的package.json:

angular2-CLI - orginial的package.json:

{ 
    "name": "angular2-projects", 
    "version": "0.0.0", 
    "license": "MIT", 
    "angular-cli": {}, 
    "scripts": { 
    "start": "ng serve", 
    "postinstall": "typings install", 
    "lint": "tslint \"src/**/*.ts\"", 
    "test": "ng test", 
    "pree2e": "webdriver-manager update", 
    "e2e": "protractor" 
    }, 
    "private": true, 
    "dependencies": { 
    "@angular/common": "2.0.0-rc.3", 
    "@angular/compiler": "2.0.0-rc.3", 
    "@angular/core": "2.0.0-rc.3", 
    "@angular/forms": "0.2.0", 
    "@angular/http": "2.0.0-rc.3", 
    "@angular/platform-browser": "2.0.0-rc.3", 
    "@angular/platform-browser-dynamic": "2.0.0-rc.3", 
    "@angular/router": "3.0.0-alpha.8", 
    "es6-shim": "0.35.1", 
    "reflect-metadata": "0.1.3", 
    "rxjs": "5.0.0-beta.6", 
    "systemjs": "0.19.26", 
    "zone.js": "0.6.12" 
    }, 
    "devDependencies": { 
    "angular-cli": "1.0.0-beta.9", 
    "codelyzer": "0.0.20", 
    "ember-cli-inject-live-reload": "1.4.0", 
    "jasmine-core": "2.4.1", 
    "jasmine-spec-reporter": "2.5.0", 
    "karma": "0.13.22", 
    "karma-chrome-launcher": "0.2.3", 
    "karma-jasmine": "0.3.8", 
    "protractor": "3.3.0", 
    "ts-node": "0.5.5", 
    "tslint": "3.11.0", 
    "typescript": "1.8.10", 
    "typings": "0.8.1" 
    } 
} 

從angular2網站最新angular2依賴關係:

{ 
    "dependencies": { 
    "@angular/common": "2.0.0-rc.4", 
    "@angular/compiler": "2.0.0-rc.4", 
    "@angular/core": "2.0.0-rc.4", 
    "@angular/forms": "0.2.0", 
    "@angular/http": "2.0.0-rc.4", 
    "@angular/platform-browser": "2.0.0-rc.4", 
    "@angular/platform-browser-dynamic": "2.0.0-rc.4", 
    "@angular/router": "3.0.0-beta.1", 
    "@angular/router-deprecated": "2.0.0-rc.2", 
    "@angular/upgrade": "2.0.0-rc.4", 
    "core-js": "^2.4.0", 
    "reflect-metadata": "0.1.3", 
    "rxjs": "5.0.0-beta.6", 
    "zone.js": "0.6.12", 
    "angular2-in-memory-web-api": "0.0.14", 
    "bootstrap": "^3.3.6" 
    }, 
    "devDependencies": { 
    "concurrently": "^2.0.0", 
    "lite-server": "^2.2.0" 
    } 
} 

回答

1

更新包中的依賴關係後s.json,刪除node_modules目錄,然後運行「npm install」。這將安裝配置中的所有軟件包。

+0

沒有必要刪除'node_modules'你可以運行'npm我--save' –

+1

如果你不刪除「node_modules」,那麼所有的舊包都會留在那裏,事情會變得非常混亂。 –

0

我不確定如果這個問題已經回答了,而是直接回答,全部升級現有依賴於package.json文件的最簡單和最快的方式就是進入那個房子說,文件的文件夾(或任何其子),並運行以下命令:

npm update 

將更新所有相關性(包括DEV)最新支持版本的package.json內,爲你安裝它們,就可以使用。這樣做也有另外一個好處,就是說如果有一些版本的庫不能很好地協同工作,那麼更新過程將避開它們。

您甚至可以在更新後運行npm outdated以查看您擁有的庫,您需要什麼以及NPM註冊表是否有任何更新。