Flutter项目添加intl依赖报错,求助解决并安装新版本处理日期时间
解决Flutter添加intl依赖时的"A dependency may only have one source"错误
错误原因
- 使用了错误的依赖安装命令:
flutter pub get --intl: ^0.19.0不符合pub工具的使用规范,pub get无需通过命令行参数直接指定依赖版本,需先修改pubspec.yaml再执行命令。 pubspec.yaml依赖结构错误:将intl嵌套在了dev_dependencies下的flutter_test依赖内部,每个依赖项仅能配置自身的来源,嵌套其他依赖会导致解析报错。
修正步骤
1. 调整pubspec.yaml的依赖结构
因为你需要用intl处理项目中的日期时间显示(属于运行时依赖),所以将其移至dependencies节点下,确保每个依赖都是同级独立项:
dependencies: flutter: sdk: flutter intl: ^0.19.0 # 移至此处,与其他依赖同级 cupertino_icons: ^1.0.6 dev_dependencies: flutter_test: sdk: flutter flutter_lints: ^3.0.1
若仅在测试代码中使用intl,可将其移至dev_dependencies节点下(与flutter_test同级),但绝不能嵌套在flutter_test内部。
2. 执行正确的依赖获取命令
在项目根目录下运行:
flutter pub get
关键说明
依赖项必须保持同级结构,不能嵌套在其他依赖的配置块中,否则pub工具无法正确识别每个依赖的来源,从而抛出"A dependency may only have one source"错误。
内容的提问来源于stack exchange,提问作者ARPAN MONDAL
相关产品推荐
相关产品推荐

