如何解决为什么 pubspec 环境 / sdk / 使用 " '>=2.7.0 <3.0.0' " 而不是 " ^2.7.0 "
我对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'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。