Flutter pubspec.yaml第5列第21行出错:依赖项只能有一个源

Flutter pubspec.yaml第5列第21行出错:依赖项只能有一个源,flutter,flutter-dependencies,Flutter,Flutter Dependencies,编译器消息: 错误:无法解析“package:http/http.dart”中的包“http”。这是因为您在pubspec.yaml中错误地放置了依赖项,如下所示: dependencies: flutter: sdk: flutter http: ^0.12.0+2 dependencies: flutter: sdk: flutter http: ^0.12.0+2 这意味着http是flatter键的一部分 您需要删除空格,并额外添加一行以使其正确

编译器消息:
错误:无法解析“package:http/http.dart”中的包“http”。

这是因为您在pubspec.yaml中错误地放置了依赖项,如下所示:

dependencies:
  flutter:
    sdk: flutter
    http: ^0.12.0+2
dependencies:
  flutter:
    sdk: flutter

  http: ^0.12.0+2
这意味着
http
flatter
键的一部分

您需要删除空格,并额外添加一行以使其正确,如下所示:

dependencies:
  flutter:
    sdk: flutter
    http: ^0.12.0+2
dependencies:
  flutter:
    sdk: flutter

  http: ^0.12.0+2

有关.YAML文件缩进的重要性,请参见

中的YAML基本说明

dependencies:
  flutter:
    sdk: flutter
  http: ^0.12.0+2
这是IDE用来读取的树状结构。在flatter包中有一个子包,名为sdk。如果某物属于颤振,则应在颤振下添加is:


在您的例子中,http是一个不同的包,它不属于flatter依赖项。因此,它将导致错误。由于http是一个不同的依赖项,因此需要像上面那样添加为一个新的依赖项。

我建议您将http:^0.12.0+2放在前面

所以不是

dependencies:
  flutter:
    sdk: flutter
  http: ^0.12.0+2
这样做:

dependencies:
 http: ^0.12.0+2
  flutter:
    sdk: flutter

欢迎来到Stackoverflow。你在问为什么会出错?好吧,为了让我们知道你需要在你的问题上付出一些努力。例如,哪个代码部分产生了这个错误(所以把代码片段放进去),你想做什么?你是如何努力取得成就的?为什么?现在最重要的是你发布你的代码,但不是所有的。这样我们就可以识别你的错误了。在这个平台上玩得开心:)你是真正的英雄!非常感谢。