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

添加http包后pubspec.yaml报A dependency may only have one source错误求助

解决pubspec.yaml中"A dependency may only have one source"错误

这个错误的核心原因是你给http依赖同时指定了多个来源——比如既写了官方发布的版本号,又加了Git仓库地址,或者在同一个依赖项里混写了多种来源属性,Dart的pub工具不允许一个依赖同时绑定多个来源哦。

下面是具体的解决步骤:

  • 第一步:定位并检查错误配置
    打开你的pubspec.yaml文件,找到第17行附近的http依赖代码,大概率会看到类似下面的错误写法:

    dependencies:
      flutter:
        sdk: flutter
      http: ^0.13.5  # 官方版本来源
      http:
        git: https://github.com/dart-lang/http.git  # Git仓库来源
    

    或者是在同一个http项里同时写了多个属性:

    http:
      ^0.13.5
      git: https://github.com/dart-lang/http.git
    
  • 第二步:保留单一来源的合法配置
    根据你的需求二选一即可:

    1. 使用官方稳定版本(推荐):只保留版本号配置,删除其他来源相关的代码,示例:
      dependencies:
        flutter:
          sdk: flutter
        http: ^0.13.5  # 仅保留这一行
      
    2. 使用Git仓库的特定版本:如果需要用分支、未发布的代码,就只保留Git相关配置,示例:
      dependencies:
        flutter:
          sdk: flutter
        http:
          git:
            url: https://github.com/dart-lang/http.git
            ref: main  # 可选,指定分支、tag或commit哈希
      
  • 第三步:重新拉取依赖
    配置修改完成后,在终端执行命令:

    flutter pub get
    

    或者直接在IDE里点击"Pub get"按钮,就能完成依赖同步,解决这个错误了。

如果还是有问题,可以把pubspec.yaml里第15-20行的内容贴出来,我再帮你细化排查~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 03:49:53