我有一个很奇怪的问题。在添加新的依赖项之前,我有一些依赖项可以正常工作,但是一旦添加新的依赖项(在这种特定情况下为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/