已删除 pubspec.lock 是否会使用较新的软件包版本重新生成?

Deleted pubspec.lock regenerates with newer package versions?

为了在开发过程中修复我们的 pubspec.lock 文件,我偶尔删除它并 运行 flutter pub get 重新生成它。

我现在看到的是,我 运行 flutter pub get 并且 pubspec.lock 文件没有任何变化。但是,当我删除 pubspec.lock 和 运行 flutter pub get 时,git 显示与删除的相比,重新生成的 pubspec.lock 文件中我们的包有几个更新.

我们都在使用 flutter 2.8。我用 2.8.0 和 2.8.1 对此进行了测试,两者之间存在细微差别,但它们都更新了十几个或更多包。大多数更新是补丁,但少数是次要更新。

可能是我对 pubspec.lock 文件不了解的基本内容?如果我们都使用相同版本的 flutter,deleting/rebuilding pubspec.lock 不应该生成相同的文件吗?

一位同事向我提供了线索。删除并重新生成 pubspec.lock 文件会执行 pub upgrade,这就是软件包较新的原因。做 pub get 不会 运行 pub upgrade.