flutter项目使用pubspec.yaml进行依赖管理,其中对于依赖库的版本设置的方法比较灵活,设置不当可能会出现错误,这里集中整理一下:
不指定版本 or any
对版本无要求,此时默认会优先依赖最新版本
# pubspec.yaml
dependencies:
rxdart: # 任意版本OK
provider: any # 任意版本OK
需注意,从性能上考量并不推荐使用any
x.y.z
明确指定依赖版本
# pubspec.yaml
dependencies:
provider: 4.0.3
>x.y.z
大于此版本的包(不包括此版本)
# pubspec.yaml
dependencies:
provider: >4.0.3
<=x.y.z
小于此版本(包括此版本)
# pubspec.yaml
dependencies:
provider: <=4.0.3
'>=a.b.c <x.y.z'
指定版本的区间
# pubspec.yaml
dependencies:
provider: '>=4.0.3 <5.0.0'
^x.y.z
Dart1.8.3之后新增的Caret syntax
语法。大版本不变的区间写法,例如^2.1.0
相当于 '>=2.1.0 <3.0.0'
# pubspec.yaml
dependencies:
provider: '^4.0.3' # '>=4.0.3 <5.0.0'