Flutter升级后执行flutter pub get遇空安全版本兼容错误求助
Flutter升级后
flutter pub get失败问题解决 当前环境
- Flutter 3.10.6
- Dart 3.0.6
- DevTools 2.23.1
执行flutter pub get时的错误提示
当前Dart SDK版本为3.0.6。
由于flutter_app依赖的flutter_staggered_grid_view >=0.1.1 <0.4.0-nullsafety.1不支持空安全,版本解析失败。
启用空安全要求"sdk: '>=1.19.0 <3.0.0'"的下限必须为2.12.0或更高。
进程以退出码1结束。
项目pubspec.yml配置
name: Flutter App description: A new Flutter project. version: 1.0.0+1 environment: sdk: ">=2.12.0 <3.0.0" dependencies: flutter: sdk: flutter shared_preferences: ^2.0.15 provider: ^6.0.3 flutter_svg: ^1.1.4 image_picker: ^0.8.6 flutter_launcher_icons: ^0.9.2 smooth_page_indicator: ^1.0.0+2 carousel_slider: ^4.1.1 firebase_core: ^1.20.1 cloud_firestore: ^3.4.4 firebase_auth: ^3.6.3 flutter_facebook_auth: ^4.4.1 google_sign_in: ^5.4.1 flutter_iconly: ^1.0.2 flutter_local_notifications: ^9.6.1 loader_overlay: ^2.0.7 flutter_spinkit: ^5.1.0 get: lottie: json_annotation: google_fonts: ^2.3.1 flutter_secure_storage: ^5.0.2 flutter_staggered_grid_view: ^0.3.2 edge_alerts: ^0.0.1 mongo_dart: ^0.7.4+1 easy_localization: ^3.0.2-dev geoflutterfire: ^3.0.3 flutter_native_image: ^0.0.6+1 firebase_storage: ^10.3.6 firebase_messaging: ^12.0.3 flutter_shapes: crypt: progress_dialog: cached_network_image: ^3.2.1 cupertino_icons: ^1.0.2 dev_dependencies: firebase_core_platform_interface: 4.5.1 flutter_test: sdk: flutter flutter_lints: ^1.0.0 flutter: uses-material-design: true assets: - assets/icons/ - assets/icons/account_icons/ - assets/icons/departments/ - assets/images/ - assets/animations/
问题原因及解决办法
核心原因
- Dart 3.0.6强制要求所有依赖支持空安全,当前使用的
flutter_staggered_grid_view: ^0.3.2属于不支持空安全的旧版本(版本范围<0.4.0-nullsafety.1),导致版本解析失败。 - 项目
environment中的SDK范围">=2.12.0 <3.0.0"与Dart 3.0不兼容,需要更新适配。
具体修复步骤
升级flutter_staggered_grid_view到空安全版本
将pubspec.yml中的flutter_staggered_grid_view: ^0.3.2替换为兼容空安全的稳定版:flutter_staggered_grid_view: ^0.6.2更新SDK环境范围
修改environment字段,适配Dart 3.x:environment: sdk: ">=3.0.0 <4.0.0"排查并升级其他依赖
执行flutter pub outdated命令,检查所有依赖的兼容性,将老旧依赖升级到支持Dart 3.x的版本:- 无指定版本的依赖(如
get、lottie)建议明确标注兼容版本,避免版本冲突 - 例如
flutter_svg: ^1.1.4可升级至^2.0.7,image_picker: ^0.8.6可升级至^1.0.4
- 无指定版本的依赖(如
重新安装依赖
执行以下命令完成依赖同步:flutter pub get
内容的提问来源于stack exchange,提问作者Abdelkhalek Haddany
相关产品推荐
相关产品推荐

