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

Flutter依赖不支持空安全致版本解析失败,求有效解决方案

Flutter pub get 空安全依赖报错解决方案

运行flutter pub get时触发错误:Dependency does not support null safety, version solving failed,尝试--no-sound-null-safety及flutter run -d chrome --no-sound-null-safety均无效,以下是高效解决步骤:

问题背景

你的pubspec.yaml原配置如下:

name: hydrabadi_rishte
description: A new Flutter project.     

publish_to: "none" 
#version: 1.0.1+2
version: 1.0.2+3

environment:
  sdk: ">=2.18.6 <3.0.0"
  flutter: ">=2.12.0"

dependencies:
  flutter:
    sdk: flutter
  dropdown_button2:
  timer_button: ^2.0.0
  dropdownfield: ^1.0.3
  custom_radio_grouped_button: any
  checkbox_grouped: ^1.8.0
  dropdown_plus:
  http:
  pin_entry_text_field: 0.1.4
  pinput: ^2.2.8
  timer_count_down:
  flutter_countdown_timer: ^4.1.0
  flutter_search_bar: ^1.0.3
  quds_popup_menu: 0.0.1+1
  like_button: ^2.0.4
  rflutter_alert: ^1.0.1
  dropdown_search:
  fluttertoast: ^8.0.9
  shared_preferences: ^2.0.15
  sizer: ^2.0.15
  animated_splash_screen: ^1.2.0
  file_picker: ^3.0.0
  share: ^2.0.4
  image_cropper: ^3.0.0
  carousel_slider: ^4.1.1
  smooth_page_indicator: ^1.0.0+2
  image_picker: ^0.8.6
  email_validator: ^2.0.1
  flutter_animate: ^3.1.0
  flutter_svg: ^2.0.5
  razorpay_flutter: ^1.2.6
  mailer: ^5.0.0
  video_player: ^2.3.8
  chewie: ^1.0.2
  flutter_rating_bar: ^4.0.0

  get:
  cupertino_icons: ^1.0.2
  url_launcher: ^6.1.11     

dev_dependencies:
  flutter_test:
    sdk: flutter    
  flutter_lints: ^2.0.0    
flutter:
  uses-material-design: true    
  assets:
    - assets/

解决步骤

1. 精准定位问题依赖

先执行命令找出所有不支持空安全的包:

dart pub outdated --mode=null-safety

从你的配置看,dropdownfield: ^1.0.3、pin_entry_text_field: 0.1.4、flutter_search_bar: ^1.0.3、quds_popup_menu: 0.0.1+1这些包的版本大概率不支持空安全,是主要诱因。

2. 替换/升级问题依赖

  • 移除冗余包:你已经引入了支持空安全的pinput,直接删掉pin_entry_text_field: 0.1.4;dropdown_button2和dropdown_search已经能替代dropdownfield,删掉dropdownfield: ^1.0.3。
  • 升级到空安全版本:
    • flutter_search_bar可以替换为官方SearchAnchor组件,或者改用flutter_typeahead这类支持空安全的搜索包;
    • quds_popup_menu若无更新版本,可替换为popup_menu2;
    • rflutter_alert升级到^2.0.4(支持空安全);
    • 给未指定版本的依赖补全稳定空安全版本号(比如dropdown_button2: ^2.3.9、get: ^4.6.5)。

3. 清理缓存重新获取依赖

执行以下命令:

flutter clean
flutter pub get

4. 临时方案:依赖覆盖(仅当无空安全版本时使用)

如果某个包确实没有官方空安全版本,可尝试使用社区维护的分支:

dependency_overrides:
  problematic_package:
    git:
      url: https://github.com/xxx/problematic_package.git
      ref: null-safety-branch

修改后的pubspec.yaml示例

name: hydrabadi_rishte
description: A new Flutter project.     

publish_to: "none" 
version: 1.0.2+3

environment:
  sdk: ">=2.18.6 <3.0.0"
  flutter: ">=2.12.0"

dependencies:
  flutter:
    sdk: flutter
  dropdown_button2: ^2.3.9
  timer_button: ^2.0.0
  custom_radio_grouped_button: ^1.4.2
  checkbox_grouped: ^1.8.0
  dropdown_plus: ^3.0.0
  http: ^0.13.5
  pinput: ^2.2.8
  timer_count_down: ^2.2.3
  flutter_countdown_timer: ^4.1.0
  like_button: ^2.0.4
  rflutter_alert: ^2.0.4
  dropdown_search: ^5.0.6
  fluttertoast: ^8.0.9
  shared_preferences: ^2.0.15
  sizer: ^2.0.15
  animated_splash_screen: ^1.2.0
  file_picker: ^3.0.0
  share: ^2.0.4
  image_cropper: ^3.0.0
  carousel_slider: ^4.1.1
  smooth_page_indicator: ^1.0.0+2
  image_picker: ^0.8.6
  email_validator: ^2.0.1
  flutter_animate: ^3.1.0
  flutter_svg: ^2.0.5
  razorpay_flutter: ^1.2.6
  mailer: ^5.0.0
  video_player: ^2.3.8
  chewie: ^1.0.2
  flutter_rating_bar: ^4.0.0

  get: ^4.6.5
  cupertino_icons: ^1.0.2
  url_launcher: ^6.1.11     

dev_dependencies:
  flutter_test:
    sdk: flutter    
  flutter_lints: ^2.0.0    

flutter:
  uses-material-design: true    
  assets:
    - assets/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 18:23:26