我使用 ng --version
命令得到了:
@angular/cli: 1.0.0
这不是最新版本。
因为我在系统上全局安装了 Angular CLI,所以我尝试升级它:
npm update angular-cli -g
但它不起作用,因为它仍然是 1.0.0 版本。
我使用 ng --version
命令得到了:
@angular/cli: 1.0.0
这不是最新版本。
因为我在系统上全局安装了 Angular CLI,所以我尝试升级它:
npm update angular-cli -g
但它不起作用,因为它仍然是 1.0.0 版本。
在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+,则可能需要阅读此内容。
编辑:此外,如果您仍在使用1.x版本的cli,则需要将angular-cli.json
转换为angular.json
,可以使用以下命令执行(有关更多详细信息,请参见此处):
ng update @angular/cli --from=1.7.4 --migrate-only
npm install -g @angular/cli
npm install -g @angular/cli@latest
ng --version
或者 Angular 14.X +
ng version
请查看文档。
ng --version
。 - Omar@latest
来升级?如果我已经全局安装了旧版本的Angular CLI并且没有包括@latest
标签,会发生什么? - Kyle Vassellang6+升级到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不再在polyfills.ts
中使用intl
//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 uninstall -g @angular/cli
然后
npm cache verify
然后
npm install -g @angular/cli
我使用Windows 10,有时候需要使用:npm cache clean --force
。如果你在安装过程中没有遇到任何问题,就不需要这样做。
这个命令运行正常:
npm upgrade -g @angular/cli
Note 2023年2月22日:最近发布了一个很棒的工具,叫做NGVM。
它可能非常有用,可以帮助你维护Angular CLI版本。
如果您在管理全局CLI版本方面遇到任何困难,最好使用工具来处理。以下是一些选项:
要更新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
。此标志仅适用于更新单个包,并且仅适用于迁移。更新后,请确保您安装的typescript版本支持当前的angular版本,否则您可能需要降级typescript版本。还要记住,通常最新版本的angular不支持最新版本的typescript。
检查Angular CLI / Angular / NodeJS / Typescript兼容性版本在这里
另请参阅更新Angular项目和update.angular.io指南。
旧答案:
您只需要使用angular-cli-diff进行差异比较并将更改应用于您的当前项目即可。
以下是步骤:
npm install
/ yarn
npm scripts
(有关详细信息,请参见:https://dev59.com/06Pia4cB1Zd3GeqP5urk#45431592)除了@ShinDarth的答案之外。
我照他说的做了,但我的包没有更新 Angular 版本,我知道这篇文章是关于 angular-cli
的,但我认为这也可能有帮助。
-ng new projectname
创建一个新项目,生成一个包。-npm install
。现在我的 ng serve
又可以使用了,也许有更好的方法来完成所有这些操作,如果有人知道,请分享,因为这对需要更新的所有项目都很痛苦。
针对我的情况,我使用了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,然后使用以下命令安装最新的angular cli:
npm install -g @angular/cli@latest
npm uninstall -g @angular/cli
npm cache verify
# 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 uninstall -g @angular/cli
将其从全局中删除。但是重新安装后,我得到了相同的6.0版本。 - Mattijs