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

Flutter依赖包空安全改造遇死循环:需pub get却依赖空安全支持

解决Flutter空安全依赖死循环的方法

1. 临时绕过空安全校验,先获取基础依赖

执行命令flutter pub get --no-sound-null-safety,这个命令会跳过空安全的强制检查,让你能正常拉取依赖、打开项目,进而修改key_value_store_flutter的代码。

2. 改造key_value_store_flutter适配空安全

  • 打开该包的pubspec.yaml,把SDK版本改成支持空安全的范围,比如:
    environment:
      sdk: '>=2.12.0 <3.0.0'
    
  • 给变量、函数补全空安全修饰符(?、!、required等),修复所有空安全相关的编译报错。
  • 进入该包的目录,执行dart pub get,确保它自身的依赖也适配空安全(如果有的话)。

3. 处理key_value_store_web的兼容问题

如果这个第三方包还没有官方空安全版本,有两种解决思路:

  • 找该包的空安全分支或社区fork版本,在项目pubspec.yaml里指定依赖,比如:
    dependencies:
      key_value_store_web:
        git:
          url: https://github.com/xxx/key_value_store_web.git
          ref: null-safety-branch
    
  • 自己fork这个仓库,改造为支持空安全后,再依赖自己的fork版本。

4. 恢复正常空安全模式

所有包的空安全改造完成后,回到项目根目录执行flutter pub get,此时依赖应该能正常解析了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 17:52:02