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

Flutter依赖冲突求助:universal_ui不支持空安全致版本解析失败

解决universal_ui 0.0.8空安全依赖冲突的办法

方案1:换用支持空安全的替代库

universal_ui 0.0.8是停更的旧库,根本没适配空安全,直接换主流替代库就行:

  • 比如flutter_screenutil(多屏幕适配)、responsive_framework(响应式布局)这类成熟且支持空安全的库,把pubspec.yaml里的universal_ui依赖删掉,换成这些库。
  • 替换后要改代码里的导入和对应API,比如原来的import 'package:universal_ui/universal_ui.dart';换成新库的导入,调整布局适配的相关逻辑。

方案2:强制跳过空安全检查(临时救急)

如果暂时不想换库,先凑合用的话,这么操作:

  1. 在pubspec.yaml的末尾加这段配置:
dependency_overrides:
  universal_ui: ^0.0.8
  1. 然后在项目根目录执行命令:
flutter pub get --no-sound-null-safety
  1. 注意:这只是临时办法,长期用会有空安全隐患,后续还是得换库。

方案3:降级Dart SDK到非空安全版本

要是项目对旧库依赖太深,一时半会儿改不了代码,就降级SDK:

  1. 修改pubspec.yaml里的sdk范围:
environment:
  sdk: ">=2.10.0 <2.12.0"
  1. 执行flutter pub get拉取依赖,这时候用的是非空安全的Dart环境,能兼容universal_ui 0.0.8。
  2. 缺点:没法用Dart 2.12+的空安全特性,以后项目升级会受限。

方案4:自己改universal_ui库

要是上面的方案都不合适,就自己fork这个库改造:

  1. 把universal_ui的GitHub仓库fork到自己账号下,克隆下来后给代码加上空安全支持(比如给可空变量加?,必填参数加required)。
  2. 在pubspec.yaml里把universal_ui的依赖换成自己的fork仓库:
universal_ui:
  git:
    url: https://github.com/你的用户名/universal_ui.git
    ref: 你的分支名
  1. 执行flutter pub get拉取自己改好的版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 04:44:55