这个问题的答案是社区的努力。编辑现有答案以改进这篇文章。它目前不接受新的答案或交互。
使用 ng --version
我得到:
@角/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 后,您可能还想update your Angular version。
注意:如果您要从旧版本更新到 Angular CLI 6+,您可能需要阅读this。
编辑:此外,如果您仍在使用 1.x 版本的 cli,则需要将 angular-cli.json
转换为 angular.json
,您可以使用以下命令完成此操作(检查 { 1}更多细节):
ng update @angular/cli --from=1.7.4 --migrate-only
初次使用者:
npm install -g @angular/cli
更新/升级:
npm install -g @angular/cli@latest
查看:
ng --version
请参阅documentation。
ng --version
@latest
是否还需要在 2021 年升级?如果我已经全局安装了旧版本的 Angular CLI 并且不包含 @latest
标记,会发生什么情况?
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 在 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
笔记:
截至撰写本文时,Cli 1.6 支持的 Typescript 版本最高为 2.5.3。使用 @next 将包更新为 beta(如果可用)。使用 @latest 获取最新的非 beta 版本。
更新全局和本地包后,清除缓存以避免错误:
npm cache verify (recommended)
npm cache clean (for older npm versions)
以下是官方参考资料:
更新 Cli 更新核心包核心包。
npm cache clean --force
真的帮助了我
以下方法对我有用:
npm uninstall -g @angular/cli
然后
npm cache verify
然后
npm install -g @angular/cli
我在 Windows 10 上工作,有时我也必须使用:npm cache clean --force
。如果在安装过程中没有任何问题,则无需这样做。
@latest
,因为 latest 是默认设置。
强大的命令安装和替换最后一个包。
我有一个类似的问题。我修好了它。
npm install -g @angular/cli@latest
和
npm install --save-dev @angular/cli@latest
https://i.stack.imgur.com/BJMHd.png
此命令工作正常:
npm upgrade -g @angular/cli
如果您在管理 global 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
。此标志仅在更新单个包时可用,并且仅在迁移时可用。
更新完成后,确保您安装的 typescript 版本受当前 angular 版本的支持,否则您可能需要降级 typescript 版本。还要记住,通常最新版本的 Angular 不支持最新版本的打字稿。在此处查看 Angular CLI / Angular / NodeJS / Typescript 兼容性版本
另请查看本指南 Updating your Angular projects 和 update.angular.io
旧答案:
您需要做的就是与 angular-cli-diff 进行比较并在当前项目中应用更改。
以下是步骤:
假设你从 1.4 开始。到 1.5 然后你做 https://github.com/cexbrayat/angular-cli-diff/compare/1.4.0...1.5.0 单击文件更改选项卡将更改应用到当前项目。 npm install / yarn 测试所有 npm 脚本(更多细节在这里:https://stackoverflow.com/a/45431592/415078)
我照他说的做了,但我的包没有更新 angular 版本,我知道这篇文章是关于 angular-cli
,但我认为这也有帮助。
所以在做了上面@ShinDarth所说的之后,要修复我的角度版本,我必须使用 -ng new projectname 创建一个新项目,该项目生成一个包。
复制新包,然后将新包粘贴到所有需要更新的项目包上(请记住添加您拥有的依赖项并在第一行更改名称),或者您可以手动更改版本而无需复制和粘贴。
然后运行 -npm 安装。
现在我的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
要将 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 uninstall -g @angular/cli
将其全局删除。但是再次安装后,我得到了相同版本的6。