最近我在https://angular.io/docs/ts/latest/tutorial/开始了Angular 2教程 .
然后我继续使用Angular 2 beta 8.现在我恢复了教程,最新的测试版是beta 14 .
如果我只是做 npm update 一些模块(预装了教程)更新但不是Angular2(我可以看到 npm ls ) .
如果我做 npm update angular 2 或 npm update angular2@2.0.0beta.14 它也没有做任何事情 .
最近我在https://angular.io/docs/ts/latest/tutorial/开始了Angular 2教程 .
然后我继续使用Angular 2 beta 8.现在我恢复了教程,最新的测试版是beta 14 .
如果我只是做 npm update 一些模块(预装了教程)更新但不是Angular2(我可以看到 npm ls ) .
如果我做 npm update angular 2 或 npm update angular2@2.0.0beta.14 它也没有做任何事情 .
11 回答
命令
npm update -D && npm update -S
将package.json
中的所有包更新为其最新版本 according to their defined version range . 你可以阅读更多关于它here .如果要从
2.0.0-rc.1
之前的版本更新Angular,则需要手动编辑package.json
,因为Angular被拆分为几个npm模块 . 如果没有这个,当angular2包指向2.0.0-beta.21
时,你永远不会使用最新版本的Angular .您可以在quickstart repository中找到包含一些最常见模块的列表 .
Notes:
A cool way to stay up to date with your packages' latest version 将使用npm outdated,它会显示所有过时的软件包及其所需的最新版本 .
我们需要链接两个命令
npm update -D
和npm update -S
的原因是为了克服this bug,直到它被修复 .我用于迁移的另一个很好的包从Angular2的beta版到
Angular2 2.0.0 final
是npm-check-updates
它显示了package.json中指定的所有软件包的最新可用版本 . 与
npm outdated
相比,它还能够编辑你的package.json,使你能够在以后做npm upgrade
.Install
sudo npm install -g npm-check-updates
Usage
ncu
用于显示ncu -u
用于重写package.jsonUpgrade to latest Angular 5
Angular Dep包:
npm install @angular/{animations,common,compiler,core,forms,http,platform-browser,platform-browser-dynamic,router}@latest --save
由cli
npm install --save core-js@latest rxjs@latest zone.js@latest
安装的其他软件包Angular Dev软件包:
npm install --save-dev @angular/{compiler-cli,cli,language-service}@latest
类型开发包:
npm install --save-dev @types/{jasmine,jasminewd2,node}@latest
由angular cli安装为dev dev的其他软件包:
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
安装Angular cli使用的最新支持版本(不要做@latest):
npm install --save-dev typescript@2.4.2
将文件angular-cli.json重命名为.angular-cli.json并更新内容:
更新:
从CLI v6开始,您可以运行ng update,以便将您的依赖项自动更新为新版本 .
另请查看本指南Updating your Angular projects
仅限bash用户
如果你在
Mac/Linux
或在Windows
上运行bash(在默认情况下不能工作Windows CMD
)你可以运行oneliner: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
要在项目运行中查看完整的
@angular
版本:npm ls @angular/compiler
或yarn list @angular/compiler
要检查npm run上可用的最新稳定
@angular
版本:npm show @angular/compiler version
官方的npm页面提供了一种结构化方法来更新全局和本地场景的角度版本 .
1.首先,您需要从系统中卸载当前角度 .
2.清理缓存
EDIT
正如@candidj所指出的那样
npm cache clean
从npm 5开始重命名为npm cache verify
3.全局安装角度
4.如果您有本地项目设置
请在下面的链接中查看相同的内容:
https://www.npmjs.com/package/@angular/cli#updating-angular-cli
这将解决问题 .
使用npm-upgrade的替代方法:
npm i -g npm-upgrade
转到项目文件夹
npm-upgrade check
它会询问您是否要升级包,选择是
这很简单
如果要将所有软件包安装/升级到最新版本并运行Windows,可以在
powershell.exe
中使用:如果您还使用
cli
,则可以执行以下操作:这将保存包精确(-E),以及
devDependencies
(-D)中的cli包刚开始:
https://update.angular.io
选择您正在使用的版本,它将为您提供分步指南 .
我建议选择“高级”来查看所有步骤 . 复杂性是一个相对的概念 - 我不知道这个功能是谁的愚蠢想法,但如果你选择'基本',它将不会显示你需要的所有步骤,你可能会错过一些重要的事情,你的否则'基本'应用程序正在使用 .
从版本6开始,有一个新的Angular CLI命令
ng update
,它可以智能地查看您的依赖项并执行检查以确保您正在更新正确的东西:-)步骤将概述如何使用它:-)
最好的方法是在vscode中使用扩展名(pflannery.vscode-versionlens) .
这将检查所有满足并检查最佳拟合 .
我有很多问题更新和保持我的应用程序功能unitll我让verbose lense做了检查然后我运行
安装新建议的依赖项 .
如果你看起来像我一样只是将你的项目更新到最新的那些是自Angular 6以来我的工作形式: