我接手了一位前同事的 angular 项目。不幸的是,我在 angular 和 npm 方面不是很有经验。当我推送项目的新版本时,gitlab 运行程序会创建它的新 docker 映像。在项目构建和运行顺利的同时,我在Gitlab中可以看到很多警告,主要是它给出了很多警告,主要是由于已弃用的包。我想对此做点什么,并更新了 angular 和一些包。以下是“npm outdated”目前给出的内容:
Package Current Wanted Latest Location Depended by
@angular-devkit/build-angular 12.0.5 12.0.5 12.1.1 node_modules/@angular-devkit/build-angular
@angular-devkit/core 12.0.5 12.1.1 12.1.1 node_modules/@angular-devkit/core
@angular-devkit/schematics 12.0.5 12.1.1 12.1.1 node_modules/@angular-devkit/schematics
@angular/animations 12.0.5 12.0.5 12.1.1 node_modules/@angular/animations
@angular/cli 12.0.5 12.0.5 12.1.1 node_modules/@angular/cli
@angular/common 12.0.5 12.0.5 12.1.1 node_modules/@angular/common
@angular/compiler 12.0.5 12.0.5 12.1.1 node_modules/@angular/compiler
@angular/compiler-cli 12.0.5 12.0.5 12.1.1 node_modules/@angular/compiler-cli
@angular/core 12.0.5 12.0.5 12.1.1 node_modules/@angular/core
@angular/elements 12.0.5 12.1.1 12.1.1 node_modules/@angular/elements
@angular/forms 12.0.5 12.0.5 12.1.1 node_modules/@angular/forms
@angular/language-service 12.0.5 12.0.5 12.1.1 node_modules/@angular/language-service
@angular/localize 12.0.5 12.1.1 12.1.1 node_modules/@angular/localize
@angular/platform-browser 12.0.5 12.0.5 12.1.1 node_modules/@angular/platform-browser
@angular/platform-browser-dynamic 12.0.5 12.0.5 12.1.1 node_modules/@angular/platform-browser-dynamic
@angular/router 12.0.5 12.0.5 12.1.1 node_modules/@angular/router
@schematics/angular 10.2.3 10.2.3 12.1.1 node_modules/@schematics/angular
@types/jasmine 3.6.11 3.6.11 3.7.7 node_modules/@types/jasmine
@types/node 14.17.4 14.17.4 16.0.0 node_modules/@types/node
chart.js 2.9.4 2.9.4 3.4.1 node_modules/chart.js
core-js 3.15.1 3.15.2 3.15.2 node_modules/core-js
fs-extra 9.1.0 9.1.0 10.0.0 node_modules/fs-extra
jasmine-core 3.6.0 3.6.0 3.8.0 node_modules/jasmine-core
jasmine-spec-reporter 5.0.2 5.0.2 7.0.0 node_modules/jasmine-spec-reporter
prettier 2.2.1 2.2.1 2.3.2 node_modules/prettier
rxjs 6.6.7 6.6.7 7.1.0 node_modules/rxjs
ts-node 8.10.2 8.10.2 10.0.0 node_modules/ts-node
typescript 4.2.4 4.2.4 4.3.5 node_modules/typescript
然而,当我尝试'npm update angular-oauth2-oidc-jwks'时,我遇到了很多这样的错误:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: simplecomp@0.3.6
npm ERR! Found: tslib@2.3.0
npm ERR! node_modules/tslib
npm ERR! tslib@"^2.0.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer tslib@"^1.10.0" from angular-oauth2-oidc-jwks@9.0.0
npm ERR! node_modules/angular-oauth2-oidc-jwks
npm ERR! angular-oauth2-oidc-jwks@"^9.0.0" from the root project
npm ERR!
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.
我已经阅读了一些文档和我在 google 上找到的不同内容,但我仍然没有真正了解我应该知道的内容。我确实知道问题是由写入 package.json 的依赖项引起的。当我在 package.json 中搜索“tslib”时,在“依赖项”下有一个条目“tslib”:“^2.0.0”。这意味着我的项目(认为它)需要 tslib 的 2.0.0 版本,对吗?但是我想更新的包需要一个版本。我理解正确吗?
我不知道该怎么办。有人可以尝试带我过去吗?是否有针对所有此类冲突的一种解决方案,还是我必须以不同的方式解决每个依赖项冲突?
提前致谢
答案 0 :(得分:0)
我也有类似的问题。我试过了:
重新安装angular cli
npm uninstall -g @angular/cli
#Clear Cache:
npm cache clean --force
npm cache verify
#Install Angular CLI:
npm install -g @angular/cli