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

Dart 2.0仍需用new关键字?SDK与依赖版本不兼容问题求助

解决Dart项目中的两个SDK与依赖兼容性问题

我来帮你拆解这两个问题的根源,一步步给出解决方案:

问题1:NoSuchMethodError: Attempted to use type 'SimplePipe' as a function

这个错误的核心原因是实际运行的Dart版本与代码/依赖的预期版本不匹配:

  • 错误提示明确提到“是不是忘了加new关键字调用构造函数”,这是Dart 1.x的典型要求——在Dart 1中必须用new SimplePipe()来实例化类,直接写SimplePipe()会被当成调用类型的call方法(而类默认没有这个方法)。
  • 但你的pubspec.yaml已经指定了SDK约束>=2.0.0-dev.53.0 <2.0.0,这说明你的本地环境可能还在使用Dart 1.x,或者IDE配置的SDK版本不对。

修复步骤:

  1. 检查本地Dart SDK版本
    打开终端运行:
    dart --version
    
    确认输出的版本在2.0.0-dev.53.0到2.0.0之间。如果是Dart 1.x,需要升级到对应的Dev版本。
  2. 修正IDE的SDK配置
    不管是VS Code还是Android Studio,进入Dart/Flutter的设置页面,确保选中的SDK路径是符合版本要求的那个。
  3. 清理并重新获取依赖
    有时候缓存的依赖会导致版本混乱,执行以下命令:
    pub cache repair
    rm pubspec.lock
    pub get
    
  4. 检查代码中的构造调用
    如果是你自己写的SimplePipe调用,确保在Dart 1环境下加new(如果暂时无法升级SDK),或者升级到Dart 2后直接用SimplePipe()(Dart 2允许省略new)。

问题2:Dart 2.0.0-dev.54.0.flutter-46ab040e58 is incompatible with your dependencies' SDK constraints

这个问题出在你的依赖包中,有某个包的SDK约束不支持2.0.0-dev.54.0版本——虽然你的pubspec.yaml写了<2.0.0,但部分旧依赖的约束可能更严格(比如只支持到dev.53.0),导致pub无法找到兼容的版本组合。

修复步骤:

  1. 删除锁文件重新解析依赖
    先删除pubspec.lock,再运行pub get,让pub重新计算所有依赖的兼容版本:
    rm pubspec.lock
    pub get
    
  2. 升级依赖到兼容Dart 2的新版本
    你的依赖大多是比较旧的版本,很多已经推出了支持更高Dart版本的更新。建议把pubspec.yaml中的依赖替换为以下(版本号可根据实际情况调整,确保相互兼容):
    dependencies:
      uuid: "^3.0.0"
      json_annotation: "^4.0.1"
      http: "^0.13.4"
      rxdart: "^0.27.5"
      test: "^1.24.0"
    dev_dependencies:
      build_runner: "^2.4.4"
      json_serializable: "^6.7.0"
    
    升级后再运行pub get,新版本的依赖通常对Dart 2的Dev版本兼容性更好。
  3. 放宽SDK约束范围
    把environment中的SDK约束改成更宽松的范围,比如:
    environment:
      sdk: '>=2.0.0-dev.53.0 <3.0.0'
    
    这样可以兼容更多后续的Dart 2 Dev版本。
  4. 降级Dart SDK版本(备选)
    如果上述方法都不行,可以让你的朋友把Dart SDK降级到2.0.0-dev.53.0,和你pubspec.yaml的最低要求保持一致,避免版本差异。

额外建议

为了避免团队成员之间出现版本不一致的问题,推荐使用**FVM(Flutter Version Manager)**来统一管理Dart/Flutter SDK版本,每个人都可以快速切换到项目要求的版本,减少兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:58:45