我有一个很奇怪的问题。在添加新的依赖项之前,我有一些依赖项可以正常工作,但是一旦添加新的依赖项(在这种特定情况下为async_await),使用Incompatible version constraints on analyzer时我就会收到pub get错误。奇怪的是:async_await不是不兼容的约束!



如果约束仍然应该失败,那么当我删除async_await(另一个导入也发生了同样的事情)时,为什么不显示此错误?

更新

运行pub upgrade揭示了另一个问题



Pubspec.yaml

name: aristadart
description: A sample web application
dependencies:
  angular: 1.0.0
  browser: any
  di: any
  fp: any
  http: any
  mongo_dart: any
  redstone: any
  redstone_mapper: any
  redstone_mapper_mongo: any
  shelf_static: any


transformers:
- redstone_mapper
- angular:
    html_files:
    - lib/components/login/login.html
    - lib/components/login/nuevo_usuario.html
    - lib/components/home/home.html
    - lib/components/evento/evento.html
    - lib/components/vista/vista.html

最佳答案

没有适合所有版本约束的依赖集。
我通过精确定位某些依赖项的版本来解决此类问题,以使pub get / pub upgrade的工作更轻松,并添加一些dependency_overrides以强制解决某些差异。
逐个添加替代,直到不再发生错误。

在您的情况下,我必须添加很多替代

dependency_overrides:
  analyzer: ^0.22.4
  barback: ^0.15.2+2
  code_transformers: ^0.2.3+2
  di: ^3.3.3
  route_hierarchical: ^0.6.1

这样,您可以迫使软件包使用未经测试的依赖关系,但这是解决它的唯一方法(除了将依赖关系本身更新为使用较新的版本外,但这通常由其他人控制)。

关于dart - 发布错误:分析器的版本不兼容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28206719/

10-12 17:18