7

根据pub get文档pub get,和之间的主要区别pub upgrade是:

如果锁定文件已经存在,那么 pub get 会尽可能使用锁定在其中的依赖项的版本。如果依赖项没有被锁定,pub 将获得满足所有版本约束的该依赖项的最新版本。这是 pub get 和 pub upgrade 之间的主要区别,后者总是尝试获取所有依赖项的最新版本。

但这给我留下了几个问题。

  1. 他们所说的“如果依赖项没有被锁定......?锁定?!?就像在版本控制中?文件系统锁定?他们所说的这个锁定是什么意思?
  2. 仍然不清楚这两个命令之间的区别。他们是说pub get考虑了版本限制,而pub upgrade事实并非如此吗?
4

1 回答 1

6

pubspec.lock当文件包含此依赖项的条目时,它被锁定。您可以手动更改依赖pubspec.lock项以准确指定要使用的版本。 pub upgrade检查适合您的pubspec.yaml配置的最新版本并自动更新您的 pubspec.lock 文件。

pubspec.lock在 CVS 存储库中使用您的包代码签入时,您以后可以重现与签入代码时完全相同的设置,即使您pubspec.yaml为依赖项允许更广泛的版本也​​是如此。

也可以看看

于 2013-12-21T13:41:23.340 回答