【问题标题】:Error on line 21, column 5 of pubspec.yaml: A dependency may only have one sourcepubspec.yaml 第 21 行第 5 列的错误:依赖项可能只有一个源
【发布时间】:2019-07-21 12:39:09
【问题描述】:

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

【问题讨论】:

  • 您好,欢迎来到 Stackoverflow。你问为什么会出错?好吧,为了让我们发现你需要在你的问题上付出一些努力。例如哪个代码部分产生了这个错误(所以输入代码 sn-ps),你想做什么?你是如何尝试实现某事的,为什么?现在最重要的是发布代码,但不是全部。这样我们就可以识别您的错误。在这个平台上玩得开心:)

标签: flutter flutter-dependencies


【解决方案1】:

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

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

这意味着httpflutter 键的一部分。

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

dependencies:
  flutter:
    sdk: flutter

  http: ^0.12.0+2

请参阅https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html 中的 YAML 基础描述

【讨论】:

  • 你才是真正的英雄!谢谢!
【解决方案2】:

对于 .yaml 文件,缩进很重要。

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

这是一个 IDE 用来读取的树状结构。 flutter 包内有一个名为 sdk 的子包。如果某些东西属于颤振,那么应该在 flutter: 下添加。

在您的情况下, http 是一个不同的包,不属于 flutter 依赖项。所以会产生错误。由于 http 是不同的依赖项,因此需要像上面一样将其添加为新的依赖项。

【讨论】:

    【解决方案3】:

    我建议你把 http:^0.12.0 + 2 放在 futter 上面

    所以而不是

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

    这样做:

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

    【讨论】:

      猜你喜欢
      • 2018-09-03
      • 2020-06-30
      • 1970-01-01
      • 2021-07-18
      • 2020-01-23
      • 1970-01-01
      • 1970-01-01
      • 2020-02-17
      • 2015-01-27
      相关资源
      最近更新 更多