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

Flutter项目pubspec.yaml依赖源错误:一个依赖仅能有一个源的解决方法

修复pubspec.yaml中“A dependency may only have one source”错误

这个错误提示说明某个依赖项被同时指定了多个来源(比如既写了版本号,又添加了sdk: flutter这类来源声明,或者混用了Git地址与版本号)。从你提供的代码来看,当前dev_dependencies里的flutter_test格式是正常的,问题应该出在你添加english_words依赖时的操作失误。

正确的修改方案

将english_words依赖添加到dependencies区块下,保证每个依赖只有单一来源,修改后的完整代码如下:

name: xylophone
description: A new Flutter application.

version: 1.0.0+1

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.2
  english_words: ^4.0.0 # 添加english_words依赖,版本号可根据Flutter版本选择兼容值
  # Use Audioplayers dependency version 0.17.4

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:

  uses-material-design: true

  assets:
    - assets/

关键注意点

  • 区分dependencies与dev_dependencies:english_words是业务代码需要用到的库,属于生产依赖,必须放在dependencies下;dev_dependencies仅用于开发阶段(如测试工具)。
  • 严格遵守YAML缩进规则:每个依赖项的缩进要和同区块内的其他依赖保持一致(通常为2个空格),缩进错误也可能触发异常提示。
  • 单一来源原则:每个依赖只能声明一种获取方式——要么写版本号(如^4.0.0),要么指定sdk来源,要么提供Git地址,不能同时组合多种方式。

内容的提问来源于stack exchange,提问作者helpoatmeal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 02:54:23