首页 > 解决方案 > Angular 11 在安装节点模块时无法解析依赖树

问题描述

我看过很多关于这个主题的帖子,但这对我没有帮助,因为我的场景在模块和库方面有很大不同,这就是创建这个线程的原因,我已经配置了一个 jenkins 管道作业,它是尝试执行npm install并遇到unable to resolve dependency tree相同的快照已附加。

在此处输入图像描述

它与 jenkins 无关,因为我已经尝试使用命令行实用程序安装相同的工具,在这里我也得到了依赖项未解决的错误。

在此处输入图像描述

我无法弄清楚,解决问题时出了什么问题@coreui 我也尝试使用--legacy-peer-deps开关安装模块,但这对我也不起作用。

包.json

{
  "name": "@coreui/coreui-free-angular-admin-template",
  "version": "2.11.2",
  "description": "CoreUI Free Angular 11 Admin Template",
  "author": {
    "name": "Łukasz Holeczek",
    "url": "http://holeczek.pl",
    "github": "https://github.com/mrholek",
    "twitter": "https://twitter.com/lukaszholeczek"
  },
  "contributors": [
    {
      "name": "Andrzej Kopański",
      "url": "https://github.com/xidedix"
    }
  ],
  "homepage": "https://coreui.io/angular",
  "copyright": "Copyright ©2021 Netlink. All Rights Reserved.",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "postinstall": "ngcc --properties es2015 browser module main --first-only",
    "start": "ng serve",
    "build": "ng build --prod --aot --build-optimizer --common-chunk --vendor-chunk --optimization --progress",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^11.2.5",
    "@angular/cdk": "^11.2.4",
    "@angular/common": "^11.2.5",
    "@angular/compiler": "^11.2.5",
    "@angular/core": "^11.2.5",
    "@angular/forms": "^11.2.5",
    "@angular/localize": "^11.2.5",
    "@angular/platform-browser": "^11.2.5",
    "@angular/platform-browser-dynamic": "^11.2.5",
    "@angular/router": "^11.2.5",
    "@coreui/angular": "^2.11.2",
    "@coreui/coreui": "^2.1.16",
    "@coreui/coreui-plugin-chartjs-custom-tooltips": "^1.3.1",
    "@coreui/icons": "^2.0.0-rc.0",
    "@coreui/icons-angular": "1.0.0-alpha.3",
    "@fortawesome/angular-fontawesome": "^0.5.0",
    "@fortawesome/fontawesome-svg-core": "^1.2.35",
    "@fortawesome/free-solid-svg-icons": "^5.15.3",
    "@ng-bootstrap/ng-bootstrap": "^9.1.3",
    "@ng-idle/core": "^10.0.0-beta.1",
    "@ng-idle/keepalive": "^10.0.0-beta.1",
    "@ng-select/ng-select": "^5.0.8",
    "@ngx-translate/core": "^13.0.0",
    "@ngx-translate/http-loader": "^6.0.0",
    "@types/crypto-js": "^3.1.47",
    "ag-grid-angular": "^25.2.0",
    "ag-grid-community": "^25.2.1",
    "angular-crumbs": "^3.0.1",
    "angular2-datatable": "^0.6.0",
    "angular2-moment": "^1.9.0",
    "angular2-toaster": "^7.0.0",
    "bootstrap": "^4.6.0",
    "chart.js": "^2.9.4",
    "classlist.js": "^1.1.20150312",
    "core-js": "^3.9.1",
    "crypto-js": "^4.0.0",
    "file-saver": "^2.0.2",
    "filepond": "^4.27.1",
    "filepond-plugin-file-encode": "^2.1.9",
    "filepond-plugin-file-validate-size": "^2.2.2",
    "filepond-plugin-file-validate-type": "^1.2.5",
    "filepond-plugin-image-crop": "^2.0.4",
    "filepond-plugin-image-edit": "^1.6.1",
    "filepond-plugin-image-exif-orientation": "^1.0.9",
    "filepond-plugin-image-preview": "^4.6.4",
    "filepond-plugin-image-resize": "^2.0.7",
    "filepond-plugin-image-transform": "^3.7.3",
    "flag-icon-css": "^3.5.0",
    "font-awesome": "^4.7.0",
    "ng-block-ui": "^2.1.8",
    "ng-connection-service": "^1.0.4",
    "ng-select": "^1.0.2",
    "ng2-charts": "^2.4.2",
    "ng2-search-filter": "^0.5.1",
    "ngx-bootstrap": "^6.2.0",
    "ngx-cookie-service": "^10.1.1",
    "ngx-filepond": "^6.0.0",
    "ngx-filter-pipe": "^2.1.2",
    "ngx-perfect-scrollbar": "^10.1.0",
    "ngx-show-hide-password": "^2.1.0",
    "ngx-webstorage": "^2.0.1",
    "rxjs": "^6.6.6",
    "rxjs-compat": "^6.6.7",
    "simple-line-icons": "^2.5.5",
    "ts-helpers": "^1.1.2",
    "tslib": "^2.0.0",
    "web-animations-js": "^2.3.2",
    "zone.js": "~0.10.3"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.1102.4",
    "@angular/cli": "^11.2.4",
    "@angular/compiler-cli": "^11.2.5",
    "@angular/language-service": "^11.2.5",
    "@types/jasmine": "^3.6.6",
    "@types/jasminewd2": "^2.0.8",
    "@types/jquery": "^3.5.5",
    "@types/node": "^14.14.33",
    "codelyzer": "^6.0.0",
    "jasmine-core": "~3.6.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~5.2.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.0.3",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "^8.10.2",
    "tslint": "~6.1.0",
    "typescript": "~4.1.5"
  },
  "engines": {
    "node": ">= 10.13",
    "npm": ">= 6"
  }
}

编辑:

在此处输入图像描述

npm 运行 ng -- --version

在此处输入图像描述

标签: angular

解决方案


@fortawesome/angular-fontawesome在 . 中与^版本运算符一起使用package.json。这意味着,允许 npm 选择最新的次要版本。在@fortawesome/angular-fontawesome次要版本确定与 Angular 的兼容性,如兼容性表所述: https ://github.com/FortAwesome/angular-fontawesome#compatibility-table

由于最新@fortawesome/angular-fontawesome版本0.9.x可能与 Angular 不兼容12.x.x

这意味着,对于 Angular11.x.x版本,我建议使用@fortawesome/angular-fontawesomeversion0.8.0~0.8.0. 在最后一个~允许补丁版本更改。

如果您更改此版本,您可能还需要检查与其他fontawesome第三方的兼容性。如果需要,他们的版本也需要对齐。


推荐阅读