在 angular2-cli 项目中升级 angular 2 个依赖项

Upgrade angular 2 dependencies inside angular2-cli project

在使用了 angular2 并遵循了他们网站上的 angular2 指南之后,我尝试转移到 angular2-cli 但 angular2-cli 项目没有最新的依赖项,所以编译器给我一些关于代码中某些命令的错误。

我想升级所有依赖项,如核心、路由器等。 最新的路由器需要最新的内核,但是当我尝试这样做时:npm install core -g,我遇到了很多错误。

升级所有现有依赖项的最佳且快速的方法是什么?

这里是 package.json 的 angular-cli 和 angular 网站:

angular2-cli - 原始 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"
  }
}

在 packages.json 中更新依赖项后,删除 node_modules 目录,然后删除 运行 "npm install." 这将从您的配置中安装所有包.

我不确定问题是否已得到回答,但给出一个直接的答案,这是升级 package.json 文件中所有 现有 依赖项的最简单和最快的方法是进入包含所述文件(或其任何子文件)的文件夹和运行以下内容:

npm update

这会将所有依赖项(包括开发人员)更新为您 package.json 中支持的最新版本,并为您安装它们,以供使用。这样做还有一个额外的好处,那就是如果有一些版本的库不能很好地协同工作,更新过程将避开它们。

您甚至可以在更新后 运行 npm outdated 查看您拥有哪些库、需要什么以及 NPM 注册表是否有任何更新。