You need to enable JavaScript to run this app. Flutter项目搭建时chewie与chewie_audio包编译报错问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

Flutter项目搭建时chewie与chewie_audio包编译报错问题咨询

Flutter iOS构建chewie依赖报错解决方案

报错根因

所有编译错误均为版本不匹配导致,和Flutter通道选择无关:

  • 旧版本chewie 0.9.10使用的Scaffold参数resizeToAvoidBottomPadding,已在新版Flutter中被废弃,替换为resizeToAvoidBottomInset
  • 旧版本chewie调用的BuildContext.inheritFromWidgetOfExactType方法,已在新版Flutter中被移除,替换为dependOnInheritedWidgetOfExactType
  • 旧版本chewie_audio 1.0.0+1调用dependOnInheritedWidgetOfExactType时的传参方式,不符合新版Flutter的API签名要求

操作步骤

  • 第一步:定位间接依赖来源
    由于chewie仅存在于pubspec.lock,说明它是被其他依赖间接拉取的旧版本,执行以下命令溯源拉取路径:
    flutter pub deps --no-dev | grep -E "chewie|chewie_audio"
    
  • 第二步:添加强制版本覆盖
    在项目根目录的pubspec.yaml中,添加dependency_overrides配置,强制将chewie相关包升级到适配新版Flutter的版本:
    # 放在所有dependencies、dev_dependencies声明的后面
    dependency_overrides:
      chewie: ^1.7.5
      chewie_audio: ^1.5.1
    
  • 第三步:清理缓存重新拉取依赖
    依次执行以下命令,清除本地残留的旧版本依赖缓存,避免旧包参与编译:
    flutter clean
    flutter pub get
    
  • 第四步:重新构建运行
    依赖拉取完成无冲突后,直接执行构建命令即可:
    flutter run
    

异常场景处理

如果溯源后发现是某一第三方业务包硬编码锁死了上述两个旧版chewie的版本,优先将该第三方业务包升级到最新版本,主流媒体相关插件早已完成对新版Flutter的API适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.31 16:45:08