Dart 省道';s pub get命令可以';找不到某些依赖项的最新版本

Dart 省道';s pub get命令可以';找不到某些依赖项的最新版本,dart,dart-pub,Dart,Dart Pub,我注意到,在一些情况下,当我在pubspec.yaml中设置一些指向最新版本的依赖项时,在运行pub-get时找不到它们 例如,依赖关系。source_gen的最新版本显然是0.5.0+1。因此,我将按如下方式设置pubspec.yaml文件: dependencies: source_gen: "^0.5.0+1" 然后我运行pub get,得到以下错误: Resolving dependencies... Package source_gen has no versions that

我注意到,在一些情况下,当我在pubspec.yaml中设置一些指向最新版本的依赖项时,在运行
pub-get
时找不到它们

例如,依赖关系。source_gen的最新版本显然是
0.5.0+1
。因此,我将按如下方式设置pubspec.yaml文件:

dependencies:
  source_gen: "^0.5.0+1"
然后我运行
pub get
,得到以下错误:

Resolving dependencies...
Package source_gen has no versions that match >=0.5.0+1 <0.6.0 derived from:
- ServerErrors depends on version ^0.5.0+1
然后运行
pub-get
,安装了source\u-gen版本0.4.7。我不知道为什么。我使用的是dart sdk版本1.16.0。这是我遇到的第二个依赖问题,我有点困惑

编辑:根据Gunter的要求,我的依赖项的完整列表:

dependencies:
  http: "^0.11.3+7"
  dartson: "^0.2.5"
  intl: "^0.12.7+1"
  mailer: "^1.0.0"

这是
pub
的一个已知问题。这意味着
pub
无法解析一组兼容的依赖项。不幸的是,错误消息具有误导性。
pub
当其中一个依赖项与使用过的Dart SDK版本不兼容时,也会打印相同的错误。

您能否发布所有
依赖项
开发依赖项
您的
pubspec.yaml
文件包含的内容?@GünterZöchbauer编辑了该问题,并在底部,奇怪。它对我有效,但我使用的是1.17.0-edge。删除依赖项并检查它是否改变了任何东西通常是一种很好的方法,可以找出是哪些依赖项导致了问题。然后,通常需要手动调查这些依赖关系的
publispec.yaml
文件(例如,在GitHub repo中查找源代码)。相当麻烦,但解决依赖关系是一个复杂的问题。我想Dart团队最终会改进这一点,但这是一个相当困难的问题,目前他们有更紧迫的话题。我相信这是你第二次回答我的Dart相关问题,所以你似乎对语言掌握得相当好。dart团队需要处理哪些更紧迫的主题?我希望在dart 2中引入非空类型。他们正在研究已经得到很好支持的通用方法(使用注释语法)。除此之外,我喜欢它的样子。更好地与本机代码集成将非常好(例如,为了更好地支持数据库,仅限于服务器端)。我想大多数其他问题都在进行中,并将在不久的将来提供(比如更好地与JS项目集成,但这与我没有直接关系)。总的来说,有很多事情可以做得更好,但总的来说,这是一种很棒的语言和工具。我明白了<代码>达特森最终成为了问题所在。删除该依赖项后,我可以链接最新的
源代码
dependencies:
  http: "^0.11.3+7"
  dartson: "^0.2.5"
  intl: "^0.12.7+1"
  mailer: "^1.0.0"