【问题标题】:Why flutter `pub get` change pubspec.lock?为什么颤振`pub get`更改pubspec.lock?
【发布时间】:2021-02-21 06:21:15
【问题描述】:
当我执行flutter pub get 或pub get 时,它们的pubspec.lock 有时会发生如下变化。
sdks:
- dart: ">=2.10.2 <=2.11.0-213.1.beta"
+ dart: ">=2.10.2 <2.11.0"
我认为pub get 几乎等于 CocoaPods 命令pod install,它不会修改锁定文件。
为什么pub get更新锁文件?
【问题讨论】:
标签:
flutter
dart
dart-pub
【解决方案1】:
参考官方文档here
这就是答案:
当 pub get 获取新的依赖项时,它会写入一个 lockfile 以确保将来获取将使用这些依赖项的相同版本。应用程序包应签入 lockfile 以进行源代码管理;这可确保应用程序在部署到生产环境时为所有开发人员使用完全相同版本的所有依赖项。不过,库包不应该签入 lockfile,因为它们需要使用一系列依赖版本。
如果 lockfile 已经存在,pub get 会尽可能使用锁定在其中的依赖项的版本。如果依赖项未锁定,则 pub 会获取满足所有版本约束的该依赖项的最新版本。