在 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 注册表是否有任何更新。
在使用了 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 注册表是否有任何更新。