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

Flutter项目GitHub流水线DioError废弃报错修复咨询

搞定DioError废弃报错的方法

1. 先搞清楚问题根源

你的项目用了retrofit: 4.0.1,它依赖dio库。流水线环境拉取的dio版本应该是5.x以上(dio从5.0.0开始把DioError废弃,换成了DioException),但本地的dio版本偏低,所以本地没DioException的定义,也不会触发报错,可流水线那边就出现了废弃警告。

2. 升级dio并替换旧API

  • 先在pubspec.yaml里明确指定dio的5.x+版本,比如:
    dependencies:
      # 其他依赖不动,新增或更新现有dio版本
      dio: ^5.3.2
    
  • 执行flutter pub get更新依赖,这时候本地就能引入DioException了。
  • 全项目把所有DioError替换成DioException:
    比如原来的错误捕获代码:
    try {
      // 请求逻辑
    } on DioError catch (e) {
      // 错误处理
    }
    
    修改为:
    try {
      // 请求逻辑
    } on DioException catch (e) {
      // 错误处理
    }
    
  • 顺带检查属性调用,比如DioError.response换成DioException.response,DioError.error换成DioException.error,别漏了相关属性的适配。

3. 适配retrofit生成的代码

你用的retrofit_generator:7.0.1得兼容dio 5.x,要是生成代码时报错,就把retrofit和生成器都升级到兼容版本:

dependencies:
  retrofit: ^4.1.0 # 升级到支持dio 5.x的版本
dev_dependencies:
  retrofit_generator: ^7.1.0 # 对应升级生成器

然后重新执行flutter pub run build_runner build生成新的retrofit代码,避免生成代码里还留着DioError的引用。

4. 验证修复

  • 本地运行项目,确保没有编译错误。
  • 触发GitHub流水线,确认那个废弃警告消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 19:38:17