由于依赖错误,无法将 Angular 从 10 更新到 11

问题描述 投票:0回答:4

我正在关注这个网站并尝试通过以下命令将我的项目更新到11.0。

npx @angular/cli@11 update @angular/core@11 @angular/cli@11

每次运行它时,都会出现以下错误:

npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: [email protected]
npm ERR! Found: @angular-devkit/[email protected]
npm ERR! node_modules/@angular-devkit/build-angular
npm ERR!   dev @angular-devkit/build-angular@"~0.1102.17" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! dev @angular-devkit/build-angular@"~0.1102.17" from the root project
npm ERR! Conflicting peer dependency: @angular/[email protected]
npm ERR! node_modules/@angular/compiler-cli
npm ERR!   peer @angular/compiler-cli@"^11.0.0 || ^11.2.0-next" from @angular-devkit/[email protected]
npm ERR!   node_modules/@angular-devkit/build-angular
npm ERR!     dev @angular-devkit/build-angular@"~0.1102.17" from the root project
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!

在其他类似的问题上,我发现这个命令被引用了很多

npm install --legacy-peer-deps

我不确定上述命令有何帮助,因为我已经运行了 npm install 并且现在只是尝试使用

npx @angular/cli@11 update @angular/core@11 @angular/cli@11

进行升级

环境详情:

Global Angular CLI: 13.1.2
Local Angular CLI: 10.2.4
Angular version: 10.2.5
Node: 16.13.1

我可以做哪些不同的事情来使其发挥作用?

angular npm-install angular10 angular-upgrade npm-update
4个回答
11
投票

我可以这样解决:

运行以下升级命令后

npx @Angular/cli@11 更新@Angular/Core@11 @Angular/cli@11

它失败并出现相同的错误,但它更改了角度包的

package.json
文件。因此,在不更改 package.json 的情况下运行以下命令:

npm i --legacy-peer-deps

--legacy-peer-deps
在这里很重要。然后再次运行升级命令,它应该可以工作:

npx @Angular/cli@11 更新@Angular/Core@11 @Angular/cli@11


0
投票

我遇到了同样的问题,因此更改了

package.json

中的一些依赖版本
"dependencies": {
  "@angular/animations": "^11.2.14",
  "@angular/cdk": "11.0.4",
  "@angular/common": "^11.2.14",
  "@angular/compiler": "^11.2.14",
  "@angular/core": "^11.2.14",
  "@angular/forms": "^11.2.14",
  "@angular/platform-browser": "^11.2.14",
  "@angular/platform-browser-dynamic": "^11.2.14",
  "@angular/router": "^11.2.14",
}

"devDependencies": {
  "@angular-devkit/build-angular": "^0.1102.6",
  "@angular/cli": "^11.2.17",
  "@angular/compiler-cli": "^11.2.14",
  "@angular/language-service": "11.2.14"
}

删除

node_modules
并再次运行
npm i


0
投票

对我有用的步骤如下 -

  1. 运行迁移命令 -
    ng update @angular/core@11 @angular/cli@11
    。这就是产生错误的原因。
  2. 运行
    ng update
    命令。
  3. 检查要更新的项目列表以及版本(如果指定)

  @angular-eslint/schematics              4.2.0 -> 12.0.0          ng update @angular-eslint/schematics
  @angular/cdk                            11.2.11 -> 12.0.0        ng update @angular/cdk
  @angular/cli                            11.2.11 -> 12.0.0        ng update @angular/cli
  @angular/core                           11.2.12 -> 12.0.0        ng update @angular/core
  @ngrx/store                             11.1.1 -> 12.0.0         ng update @ngrx/store
  1. 输入
    ng update
    并包含所有提到的插件(如果提到则包含版本)-

ng update @angular-eslint/schematics @angular/cdk @angular/cli @angular/core @ngrx/store --force
  1. 提及命令
    --force

我的项目已成功迁移。


-2
投票

1- 访问 Nodejs 网站并将您的版本更新到最新的 LTS 版本。

2- 转到操作系统命令行并运行

npm i -g npm
将 npm 更新到最新版本。

3-再次通过

npm uninstall
npm install
将您的全局 Angular 版本更新到 v11.0,

4-如果这些都不起作用,请尝试在另一台计算机上更新。

© www.soinside.com 2019 - 2024. All rights reserved.