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

升级Injectable至2.5.0后Flutter无法切换prod/demo环境求助

Injectable 2.5.0 环境切换失效:始终默认使用prod环境

升级至injectable 2.5.0版本后,应用的环境切换功能出现问题:

  • 应用包含prod和demo两个环境,各自对应独立的SQLite数据库注入模块
  • 即使选择demo模式并调用getIt.init(environment: 'demo'),应用仍默认加载prod环境及生产数据库

已尝试的解决步骤

  • 调试injectable源码,发现environmentFilter对象始终被默认设置为"prod"
  • 参考官方文档,尝试向getIt.init()传入包含"demo"的SimpleEnvironmentFilter,问题依旧
  • 检查dart run build_runner build -d生成的get_it_helper.dart文件,发现_environmentFilter仍被设为production
  • 无法降级至1.4.1版本(会破坏其他依赖功能),需了解1.4.1到2.5.0版本间新增的必要配置步骤

关键细节

调试过程中可见传入的环境过滤器为demo,但随后被强制覆盖为production(附对应截图)。怀疑问题出在injectable包本身或生成的代码中。

Flutter环境信息

Flutter version 3.29.2 on channel stable at C:\dev\flutter-3.19\flutter
Framework revision c236373904 (6 weeks ago), 2025-03-13 16:17:06 -0400 
Engine revision 18b71d647a
Dart version 3.7.2
DevTools version 2.42.3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 07:06:01