如何在 pubspec.yaml 中设置使用最新版本的包?

sgo*_*n00 3 dart

如何在 pubspec.yaml 中为 Dart 项目设置使用最新版本的包?

我可以做类似的事情吗:

dev_dependencies:
  build_runner: latest
  build_web_compilers: latest
Run Code Online (Sandbox Code Playgroud)

在 pubspec.yaml 中

jam*_*lin 5

有关如何指定包版本约束的信息,请参阅版本约束文档。

没有直接的方法来使用包的“最新”版本,但这不是一个好主意,因为更高版本的包可能无法向后兼容。

相反,你可以这样做:

some_package: ">= 1.2.3 < 2.0.0"
Run Code Online (Sandbox Code Playgroud)

因为包应该使用语义版本控制并更改主版本号以指示向后不兼容的更改。

您还可以使用:

some_package: "^1.2.3"
Run Code Online (Sandbox Code Playgroud)

指示预计与 1.2.3 兼容的包版本(但这基于语义版本控制约定,相当于">= 1.2.3 < 2.0.0".

最后,如果您真的根本不关心软件包版本,您可以指定一个不切实际的高最大版本:

some_package: ">= 1.2.3 < 9999999.0.0"
Run Code Online (Sandbox Code Playgroud)

或完全禁用版本约束:

some_package: any
Run Code Online (Sandbox Code Playgroud)