You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用create-nx-workspace 16.1.1后npm install依赖冲突问题求助

Nx 16.1.1 Angular Monorepo npm install 依赖冲突解决办法

问题本质

这是jest-preset-angular@13.0.1的peer依赖限制引发的冲突:它要求@angular-devkit/build-angular版本必须在>=13.0.0 <16.0.0区间,但Nx 16.1.1生成的Angular项目默认依赖@angular-devkit/build-angular@~16.0.0,两者版本范围不兼容,导致npm解析依赖失败。

可行解决方案

1. 升级jest-preset-angular到兼容Angular 16的版本

jest-preset-angular从v14开始正式支持Angular 16,直接修改项目根目录的package.json:

  • 找到devDependencies里的jest-preset-angular,把版本从~13.0.0改成~14.0.0(或更高的稳定兼容版本)
    然后执行:
npm install

这是最推荐的方案,从根源解决依赖版本不匹配问题。

2. 用npm参数跳过peer依赖检查

如果暂时不想升级依赖,可以通过npm的参数强制绕过冲突:

npm install --legacy-peer-deps

这个参数会回退到npm v6的peer依赖解析逻辑,不会强制严格匹配peer依赖,相对安全。

或者用更激进的--force:

npm install --force

注意:--force会直接忽略所有依赖冲突强制安装,可能导致运行时出现未知问题,仅临时应急使用。

3. 降级@angular-devkit/build-angular到15.x版本

如果必须保留jest-preset-angular@13,可以修改package.json里的@angular-devkit/build-angular版本为~15.2.8,然后执行npm install。但这种方法会降低Angular版本,和Nx 16.1.1的适配性会打折扣,不建议长期使用。


内容的提问来源于stack exchange,提问作者Fred Yang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 22:55:28