问题描述
我对semver的理解非常有限
这个
environment:
sdk: ^2.7.0
相当于这个
environment:
sdk: '>=2.7.0 <3.0.0'
此格式严格执行包发布
Package validation found the following error:
* ^ version constraints aren't allowed for SDK constraints since older versions of pub don't support them.
Expand it manually instead:
environment:
sdk: ">=2.7.0 <3.0.0"
Sorry,your package is missing a requirement and can't be published yet.
Flutter 是否有任何理由使用 latter
代替 former
方法,
可以说哪个更熟悉consistent?
解决方法
一些定义:
-
^2.7.0
是Caret syntax
-
>=2.7.0 <3.0.0
是Traditional syntax
并基于 documentation:
因为在 Dart 1.8.3 中引入了插入符号语法,它需要一个 SDK 约束(使用传统语法)以确保旧版本的 pub 不会尝试处理它。例如:
environment:
sdk: '>=1.8.3 <3.0.0'