Flutter错误:pubspec.yaml的第6行,第5列:依赖项只能有一个源。sdk: flutter ^^^^^^^^^^^^^

42

我一直不停地收到

Running "flutter packages get" in flutter_sportters...
Error on line 6, column 5 of pubspec.yaml: A dependency may only have one source.
    sdk: flutter
    ^^^^^^^^^^^^^

当我运行我的应用程序Packages Get时。

之前它完美地工作,现在不知道该如何修复。


1
欢迎来到SO,请阅读:https://stackoverflow.com/help/how-to-ask - Essigwurst
非常感谢。我已经阅读了那个并会自己记住! - GI HYUN NAM
2
你的 pubspec.yaml 文件中可能存在缩进问题,请将其贴出以便我们检查。 - Günter Zöchbauer
请在您的回答中发布您的 pubspec.yaml - shadowsheep
15个回答

92

考虑使用 "shared_preferences" 包时,您将在 pubspec.yaml 中看到以下错误,如果您按照以下方式进行操作:

dependencies:
 flutter:
  sdk: flutter
  shared_preferences: v0.4.2

缩进很重要,因为如果您无意中将shared_preference包添加到flutter依赖项之下,会出现错误"A dependency may only have one source"。

请按照以下正确格式:

dependencies:
 flutter:
  sdk: flutter

 shared_preferences: v0.4.2 #no indention

3
哇,我刚回忆起我在20世纪70年代使用的80列编码垫和IBM 029打字机。 - Paul Evans

43

由于缩进的问题,它会抛出一个错误。在Flutter中添加依赖时保持缩进很重要。

之前:


dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.2
  english_words: ^3.1.0

之后:

dependencies:
  flutter:
    sdk: flutter

cupertino_icons: ^0.1.2
english_words: ^3.1.0
希望这可以解决您的错误。愉快编码!!!

18

缩进!!! 作为新手,会犯一些愚蠢的错误。我将新的依赖项写在了flutter根目录内:

Indentation !!! 作为新手,我们可能会犯一些低级错误。我把新的依赖项写在了Flutter根目录里:

dependencies:
  flutter:
    sdk: flutter
    sqflite: 

取代

dependencies:
  flutter:
    sdk: flutter
  sqflite: 

看到差异时请留言!!


看到了区别。 - Christopher Kikoti

10

我试图将 assets 文件夹添加到我的项目中。我将其添加到了 dependencies 下,这导致了错误:

dependencies:
  flutter:
    sdk: flutter
    assets:
      - images/

不要将其添加到 dependencies 中。相反,请将其添加到 flutter 中:

flutter:
  uses-material-design: true
  assets:
    - images/

谢谢!虽然在pubspec样板代码的注释中提到了这一点,但有时很容易忽略并犯错。 - Zac

5
你可以在 pubspec.yaml 文件中这样定义。
dependencies:
  flutter:
    sdk: flutter
  image_picker: 0.4.1

通过终端或使用Android Studio中的选项,在编辑pubspec.yaml文件时,您可以调用flutter packages get

终端中进入您的项目目录,然后输入flutter packages get


4
我解决了我的问题:
这是我的第一段代码。
dependencies
flutter:
    sdk: flutter
    webfeed: ^0.4.2

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^0.1.2

我改变后

dependencies:
  flutter:
    sdk: flutter

  webfeed: ^0.4.2

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^0.1.2

我认为您需要将软件包名称放在flutter:cupertino_icons:相同的列中。

谢谢。我犯了这个错误。在Flutter中内联编写新包:问题已解决。 - Sujithra

2

检查缩进,因为在pubspec.yaml中的flutter包只有单个依赖源。


1

请确保您的项目名称与任何软件包不同,这也可能是此错误的原因。


0
打开你的 pubspec.yaml 文件。
dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.2
  country_code_picker: ^1.0.4

0
其他答案是正确的。我还想补充一点,我试图添加shared_preferences,即使我的缩进是正确的,我仍然会遇到问题中提到的错误。为了解决这个问题,我改变了我的项目名称,因为它也是shared preferences

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接