pubspec.yaml第6行错误:依赖仅能有一个源,flutter packages get执行失败
解决Flutter中"一个依赖只能有一个源"(指向
sdk: flutter)的错误 这种问题我之前排查过好几次,大概率是你的pubspec.yaml文件里的依赖定义出现了格式问题或者重复配置,导致Pub无法正确解析sdk: flutter这个依赖项。下面是几个你可以一步步尝试的修复方案:
检查
pubspec.yaml的依赖格式
首先定位到错误提示的第6行,确认flutter依赖的写法是否正确。正确的sdk: flutter依赖定义应该是这样的:dependencies: flutter: sdk: flutter要确保:
flutter依赖在dependencies块下只出现一次- 缩进是正确的(YAML对缩进要求严格,通常用2个空格,不要用Tab)
- 没有给
flutter依赖同时添加其他源(比如git、path),像下面这种错误写法会直接触发这个问题:# 错误示例:同时指定了sdk和git源 dependencies: flutter: sdk: flutter git: https://github.com/flutter/flutter.git
清理Pub缓存
有时候本地Pub缓存损坏也会导致这类奇怪的解析错误,执行下面的命令清理缓存:flutter pub cache clean清理完成后,再运行
flutter pub get重新拉取依赖。删除
.dart_tool缓存文件夹
如果上面的方法没用,可以试试删除项目根目录下的.dart_tool文件夹(这个是Pub自动生成的缓存目录),删除后重新执行flutter pub get,让系统重新生成所有依赖的缓存文件。
要是这些方法都解决不了,你可以把pubspec.yaml里的dependencies和dev_dependencies部分贴出来,这样可以更精准地定位问题~
内容的提问来源于stack exchange,提问作者GI HYUN NAM
相关产品推荐
相关产品推荐

