升级Flutter 3.8.0后flutter_datetime_picker出现命名冲突错误求解决
解决Flutter 3.8.0升级后flutter_datetime_picker的DatePickerTheme命名冲突问题
升级到Flutter 3.8.0后,使用指定git源的flutter_datetime_picker包时出现命名冲突错误:
../../../../.pub-cache/git/flutter_datetime_picker-eb66486c47d50bf550950c196486121ffcea8885/lib/flutter_datetime_picker.dart:7:1: Error: 'DatePickerTheme' is imported from both 'package:flutter/src/material/date_picker_theme.dart' and'package:flutter_datetime_picker/src/datetime_picker_theme.dart'.
pubspec.yaml中的包配置:
flutter_datetime_picker: git: url: https://github.com/Realank/flutter_datetime_picker.git
可行解决方案:
使用导入别名规避冲突
在项目中导入flutter_datetime_picker时添加别名,区分开两个同名的DatePickerTheme:import 'package:flutter_datetime_picker/flutter_datetime_picker.dart' as dtPicker;之后使用该包的主题时写
dtPicker.DatePickerTheme,Flutter自带的主题直接用DatePickerTheme即可。更新包至兼容版本
该包可能已经推出适配Flutter 3.8.0的更新,先执行命令更新包:flutter pub upgrade flutter_datetime_picker如果更新后问题仍存在,可查看包的提交记录或社区反馈,确认是否有针对该问题的修复提交,直接指定对应commit hash来引入。
临时修改本地包代码
找到错误提示中指向的本地包文件路径,修改flutter_datetime_picker.dart的导入语句,给其中一个DatePickerTheme加别名:// 给Flutter自带的主题加别名 import 'package:flutter/src/material/date_picker_theme.dart' as materialDtTheme;并同步修改代码中对应的引用。注意这种方式在包更新后会失效,仅作为临时应急方案。
内容的提问来源于stack exchange,提问作者autumn
相关产品推荐
相关产品推荐

