使用ng --version
我得到:
@角度/ cli:1.0.0
这不是可用的最新版本。
由于我的系统上全局安装了Angular CLI,因此为了进行升级,我尝试了以下操作:
npm update angular-cli -g
但是它不起作用,因为它保持为1.0.0版本。
使用ng --version
我得到:
@角度/ cli:1.0.0
这不是可用的最新版本。
由于我的系统上全局安装了Angular CLI,因此为了进行升级,我尝试了以下操作:
npm update angular-cli -g
但是它不起作用,因为它保持为1.0.0版本。
Answers:
阅读了GitHub存储库上报告的一些问题后,我找到了解决方案。
为了更新系统中全局安装的angular-cli软件包,您需要运行:
npm uninstall -g @angular-cli
npm install -g @angular/cli@latest
根据您的系统,您可能需要在上面的命令前面加上sudo
。
另外,最有可能您还想更新本地项目版本,因为在项目目录中,它的优先级高于全局目录:
rm -rf node_modules
npm uninstall --save-dev @angular-cli
npm install --save-dev @angular/cli@latest
npm install
感谢grizzm0在GitHub上指出这一点。
更新CLI后,您可能也想更新Angular版本。
注意:如果要从较早的版本更新到Angular CLI 6+,则可能需要阅读this。
编辑:此外,如果您仍在cli的1.x版本上,则需要将转换angular-cli.json
为angular.json
,您可以使用以下命令执行此操作:
ng update @angular/cli --from=1.7.4 --migrate-only
(请检查此以获取更多详细信息)。
--force
标志
ng6 +-> 7.0
更新RxJS(取决于RxJS 6.3)
npm install -g rxjs-tslint
rxjs-5-to-6-migrate -p src/tsconfig.app.json
去掉 rxjs-compat
然后更新核心软件包和Cli:
ng update @angular/cli @angular/core
(可选:将Node.js更新到NG7支持的版本10)
ng6 +(Cli 6.0+):功能简化的命令
首先,更新您的Cli
npm install -g @angular/cli
npm install @angular/cli
ng update @angular/cli
然后,更新您的核心软件包
ng update @angular/core
如果使用RxJS,请运行
ng update rxjs
它将RxJS更新到版本6,并在后台安装该rxjs-compat
软件包。
如果遇到构建错误,请尝试手动安装:
npm i rxjs-compat
npm i @angular-devkit/build-angular
最后,检查您的版本
ng v
关于生产版本的注意事项:
NG6不再使用intl
的polyfills.ts
//remove them to avoid errors
import 'intl';
import 'intl/locale-data/jsonp/en';
ng5 +(Cli 1.5+)
npm install @angular/{animations,common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router}@next typescript@2.4.2 rxjs@'^5.5.2'
npm install typescript@2.4.2 --save-exact
注意:
在更新了全局和本地程序包之后,请清除缓存以避免错误:
npm cache verify (recommended)
npm cache clean (for older npm versions)
以下是官方参考:
npm cache clean --force
真的帮了我
功能强大的命令将安装并替换最后一个软件包。
我有一个类似的问题。我修好了它。
npm install -g @angular/cli@latest
和
npm install --save-dev @angular/cli@latest
该命令可以正常工作:
npm upgrade -g @angular/cli
以下方法对我有用:
npm uninstall -g @angular/cli
然后
npm cache verify
然后
npm install -g @angular/cli@latest
我在Windows 10上工作,有时还必须使用:npm cache clean --force
。如果在安装过程中没有任何问题,则无需执行任何操作。
@latest
,因为default是默认值。
如果您在管理全局CLI版本时遇到任何困难,最好使用NVM:MAC,Windows。
要在Angular项目中更新本地CLI,请按照以下步骤操作:
从CLI v6开始,您可以运行ng update
以将依赖项自动更新到新版本。
ng update @angular/cli
随着ng update
有时你可能需要添加--force
标志。
您还可以传递--all
标志以同时升级所有软件包。
ng update --all --force
如果只想迁移CLI,请运行以下命令:
ng update @angular/cli --migrateOnly
您还可以传递--from=from
要从其迁移的标记版本,例如--from=1.7.4
。仅当要更新的单个程序包时才可用此标志,并且仅在迁移时才可用。
更新完成后,请确保当前角度版本支持已安装的打字稿版本,否则,您可能需要降级打字稿版本。还请记住,通常angular的最新版本将不支持打字稿的最新版本。
在此处签出
Angular CLI / Angular / NodeJS / Typescript
兼容版本
另请查看本指南更新您的Angular项目和update.angular.io
老答案:
您需要做的就是使用angular-cli-diff进行差异化并将更改应用到当前项目中。
步骤如下:
File changed
标签npm install
/ yarn
npm scripts
(更多详细信息,在这里: https : //stackoverflow.com/a/45431592/415078)除了@ShinDarth答案。
我照他说的做了,但是我的包裹没有更新有角度的版本,而且我知道这篇文章是关于的angular-cli
,但是我认为这也可以提供帮助。
-ng new projectname
生成的包创建一个新项目。-npm install
。现在,我ng serve
又在工作,也许有更好的方法来完成所有这些工作,如果有人知道,请分享,因为对于所有需要更新的项目来说这很痛苦。
要将Angular CLI更新到新版本,必须同时更新全局软件包和项目的本地软件包。
全球套餐:
npm uninstall -g @angular/cli
npm cache clean
# if npm version is > 5 then use `npm cache verify` to avoid errors (or to avoid using --force)
npm install -g @angular/cli@latest
本地项目包:
rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell
npm install --save-dev @angular/cli@latest
npm install
资料来源:Github
就我而言,我已经使用npm install --save-dev angular-cli在本地安装了angular-cli。因此,当我使用命令npm install -g @ angular / cli时,它会产生错误,指出“您的全局Angular CLI版本(1.7.3)大于本地版本(1.4.9)”。请注意,angular-cli,@ angular / cli和@ angular / cli @ latest是两个不同的cli。解决此问题的方法是卸载所有cli,然后使用npm install -g @ angular / cli @ latest安装最新的angular cli。