Angular 19升级报错:jest-preset-angular对等依赖冲突
解决Angular 19升级后的npm依赖解析错误
问题重现
将Angular 18应用升级到19后执行npm install,出现以下依赖冲突错误:
npm ERR! Could not resolve dependency:
npm ERR! peer @angular/compiler-cli@"^18.0.0" from @angular-devkit/build-angular@18.2.12
npm ERR! node_modules/@angular-devkit/build-angular
npm ERR! peer @angular-devkit/build-angular@">=15.0.0 <19.0.0" from jest-preset-angular@14.3.3
npm ERR! node_modules/jest-preset-angular
npm ERR! dev jest-preset-angular@"^14.3.3" from the root project
项目核心依赖配置:
{ "devDependencies": { "@angular/build": "^19.0.2", "@angular/cli": "^19.0.2", "@angular/compiler-cli": "^19.0.0", "jest": "^29.7.0", "jest-preset-angular": "^14.3.3" } }
错误原因
- Angular 19已使用
@angular/build替代旧版的@angular-devkit/build-angular,但jest-preset-angular@14.3.3的peer依赖限制@angular-devkit/build-angular必须满足>=15.0.0 <19.0.0,与Angular 19的新工具链不兼容。 - 该版本的
jest-preset-angular要求的@angular/compiler-cli版本上限为18.x,与当前项目的19.x版本直接冲突。
解决方案
1. 升级jest-preset-angular到兼容Angular 19的版本
jest-preset-angular从v15.x开始支持Angular 19,执行以下命令更新依赖:
npm install jest-preset-angular@latest --save-dev
或指定明确的兼容版本:
npm install jest-preset-angular@^15.0.0 --save-dev
2. 重新安装依赖
更新完成后,再次执行:
npm install
3. 验证配置(可选)
确保jest配置中的preset仍指向jest-preset-angular,新版本会自动适配Angular 19的构建工具链,无需额外修改。
内容的提问来源于stack exchange,提问作者Sirish Kumar
相关产品推荐
相关产品推荐

