【问题标题】:Build Issue With Angular Project while updating Angular 7 to 13将 Angular 7 更新到 13 时使用 Angular 项目构建问题
【发布时间】:2022-01-05 05:16:38
【问题描述】:

我想将项目中的 Angular 版本从 7 升级到 13,但我遇到了一些问题。下面你可以看到我的 Json 格式的包:

{
  "name": "comresi-angular",
  "version": "0.0.0",
  "scripts": {
    "start": "ng serve",
    "start:local": "ng serve --base-href=/",
    "build:prod": "ng build --configuration  production",
    "build:dev": "ng build ----configuration  dev",
    "build:local": "npm run build:dev && npm run copy_tomcat",
    "copy_tomcat": "xcopy \"../webapp/resources\\*\" \"%CATALINA_HOME%\\webapps\\erlcr\\resources\" /s /i /y > nul"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~13.1.0",
    "@angular/cdk": "~13.1.0",
    "@angular/common": "~13.1.0",
    "@angular/compiler": "~13.1.0",
    "@angular/core": "~13.1.0",
    "@angular/forms": "~13.1.0",
    "@angular/http": "^7.0.0",
    "@angular/material": "~13.1.0",
    "@angular/platform-browser": "~13.1.0",
    "@angular/platform-browser-dynamic": "~13.1.0",
    "@angular/service-worker": "~13.1.0",
    "@angular/router": "~13.1.0",
    "@ngx-translate/core": "11.0.1",
    "@ngx-translate/http-loader": "4.0.0",
    "@types/bingmaps": "0.0.1",
    "@types/jquery": "^3.3.22",
    "@types/npm": "^2.0.29",
    "@types/slickgrid": "^2.1.26",
    "ag-grid-angular": "^19.0.0",
    "ag-grid-community": "^19.0.0",
    "angular-maps": "^6.0.1",
    "angular-slickgrid": "^2.1.8",
    "bingmaps": "^2.0.3",
    "bootstrap": "^4.1.3",
    "core-js": "^2.5.4",
    "dhtmlx-gantt": "file:gantt_7.1.8_evaluation",
    "font-awesome": "^4.7.0",
    "jquery": "^3.3.1",
    "jqwidgets-scripts": "^6.1.0",
    "moment": "^2.19.1",
    "rxjs": "~7.4.0",
    "rxjs-compat": "^7.4.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "13.1.2",
    "@angular/cli": "~13.1.0",
    "@angular/compiler-cli": "~13.1.0",
    "@angular/language-service": "~13.1.0",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "codelyzer": "~4.3.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~4.4.3",
    "rxjs": "~7.4.0"
  }
}

但在运行npm install 时出现以下错误:

 While resolving: comresi-angular@0.0.0
 Found: @angular-devkit/build-angular@0.10.7
 node_modules/@angular-devkit/build-angular
   dev @angular-devkit/build-angular@"13.1.2" from the root project

 Could not resolve dependency:
 dev @angular-devkit/build-angular@"13.1.2" from the root project

 Conflicting peer dependency: @angular/core@13.1.1
 node_modules/@angular/core
   peer @angular/core@"13.1.1" from @angular/service-worker@13.1.1
   node_modules/@angular/service-worker
     @angular/service-worker@"~13.1.0" from the root project
     peerOptional @angular/service-worker@"^13.0.0 || ^13.1.0-next" from @angular-devkit/build-angular@13.1.2
     node_modules/@angular-devkit/build-angular
       dev @angular-devkit/build-angular@"13.1.2" from the root project

您能帮我理解为什么会出现这个错误吗?

【问题讨论】:

  • 如果您还没有使用过upgrade migration 网站,我完全建议您使用它来简化迁移。一次迁移 1 个或最多 2 个版本可能会更好,因为每次更新都必须运行脚本,因此迁移时最好不要进行大跳跃。只需做 7 到 8,然后 8 到 9,...

标签: json angular angularjs build


【解决方案1】:

如果您使用官方 Angular 更新网站并将您的 Angular 版本从 7.0 放到 13.0,您将收到以下警告:

很明显,您需要浏览所有主要版本,直到 v13.0

【讨论】:

  • 感谢您的澄清。让我尝试在我的项目中升级 Angular 8 版本
【解决方案2】:

根据我的项目经验。最好用最新版本(或您想要的版本)构建一个简单的产品。并逐渐从您现有的应用程序中添加一个组件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-17
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-18
    • 2020-11-07
    相关资源
    最近更新 更多