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

Angular项目安装file-saver遇ERESOLVE依赖冲突求助

解决npm安装FileSaver.js时的ERESOLVE依赖冲突问题

问题梳理

  • 执行npm i file-saver触发npm ERESOLVE依赖解析错误
  • 初始冲突:@angular-devkit/build-angular@18.2.11的peerOptional依赖要求@angular/localize@^18.0.0,但项目中@ng-bootstrap/ng-bootstrap@18.0.0依赖的是@angular/localize@19.0.6,版本不兼容
  • 更新依赖后新冲突:@angular/localize@19.0.6要求peer依赖@angular/compiler@19.0.6,但当前项目使用的是@angular/compiler@19.1.3,版本不匹配

可行解决方案

方案1:统一Angular生态依赖版本到19.x兼容版(推荐)

这是最稳妥的长期解决方案,确保所有Angular相关依赖版本对齐:

  • 更新@angular-devkit/build-angular到与Angular 19兼容的版本:
    npm install @angular-devkit/build-angular@^19.1.0 --save-dev
    
  • 将@angular/localize升级到与当前@angular/compiler一致的19.1.3版本:
    npm install @angular/localize@^19.1.3 --save
    
  • 重新安装FileSaver.js:
    npm i file-saver
    

方案2:临时绕过依赖校验(仅适用于测试场景)

如果只是临时测试功能,可以用npm的参数跳过peer依赖冲突检查,但不建议生产环境使用:

npm i file-saver --legacy-peer-deps

注意:该操作会忽略peer依赖版本要求,可能引发运行时未知问题

方案3:降级Angular核心版本到19.0.6

如果暂时不想升级构建工具,可以将Angular核心依赖降级到匹配@angular/localize@19.0.6的版本:

npm install @angular/compiler@19.0.6 @angular/core@19.0.6 @angular/common@19.0.6 @angular/platform-browser@19.0.6 --save

需根据项目实际使用的Angular核心包补充完整降级列表

  • 完成降级后重新安装FileSaver.js:
    npm i file-saver
    

验证步骤

  • 执行npm ls查看依赖树,确认无版本冲突提示
  • 运行项目构建命令(如ng build)验证编译是否正常
  • 测试FileSaver.js的功能是否能正常运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 17:38:23