You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法修改pubspec.yaml依赖,遇“A dependency may only have one source”报错求助

解决Pubspec.yaml依赖报错"A dependency may only have one source"

嘿,我来帮你捋清楚这个问题!你遇到的这个报错,核心原因是你修改后的spritewidget依赖没有指定合法的来源,Pub不知道该从哪里获取这个包,所以才会抛出这个提示。

先看你现在的配置:

dependencies:
  flutter:
    sdk: flutter
  spritewidget :

这里spritewidget后面只有一个冒号,没有任何后续的版本号、Git地址或者本地路径,完全不符合Pub依赖的规范,自然会报错。

根据你提到的SpriteWidget仓库指引,正确的配置应该分两种情况:

情况1:使用Pub.dev上的稳定版本

如果仓库已经发布到Pub.dev,直接指定版本号即可:

dependencies:
  flutter:
    sdk: flutter
  spritewidget: ^1.0.0  # 替换成当前最新的版本号,你可以去Pub.dev查最新版

情况2:直接从GitHub仓库拉取(如果指引要求这么做)

如果仓库没上Pub,或者你需要用GitHub上的最新代码,要明确指定Git源:

dependencies:
  flutter:
    sdk: flutter
  spritewidget:
    git:
      url: https://github.com/spritewidget/spritewidget.git
      # 可选:如果需要指定特定分支或标签,加上这行
      # ref: main

关键注意点:

  • YAML对缩进非常敏感!所有子项(比如git、url)必须和父项保持正确的空格缩进,不能用Tab,否则也会报错。
  • 依赖项的格式必须是包名: 来源信息,来源信息可以是版本号、Git配置、本地路径三者之一,不能只留个冒号。

按照上面的正确配置修改后,运行flutter pub get应该就能成功拉取依赖了。

内容的提问来源于stack exchange,提问作者C.Calzana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:27:41