Flutter 版本约束误解
Flutter version constraints missunderstanding
这意味着如果我使用包版本 ^2.0.1 这意味着如果这个特定包的开发者将他的包更新到 3.0.0,我的应用程序,包括这个包将会丢失尽管我的申请已发布?
- 不,依赖关系只在编译时解决。一旦您的应用程序发布,这些显然不会改变。
- 不,如果您的 pubspec.yaml 和 运行 中有
^2.0.1
,pub get
最新版本将被锁定到 pubspec.lock
- 假设您的依赖项已发布版本 2.0.4
然后 pubspec.lock
将包含该信息。因此,对于应用程序,建议您将 pubspec.lock
添加到您的版本控制中。随后的 pub get
将始终获取锁定的 2.0.4
,直到您更改 dependencies
或 运行 pub upgrade
中的某些内容。如果您 运行 pub upgrade
并且软件包作者发布了 2.3.0
则将包含此新版本。另一方面,如果包作者发布 3.0.0
它仍然不会被使用,因为 ^2.0.1
与 >=2.0.1 <3.0.0
的意思相同
- 不,依赖关系只在编译时解决。一旦您的应用程序发布,这些显然不会改变。
- 不,如果您的 pubspec.yaml 和 运行 中有
^2.0.1
,pub get
最新版本将被锁定到pubspec.lock
- 假设您的依赖项已发布版本2.0.4
然后pubspec.lock
将包含该信息。因此,对于应用程序,建议您将pubspec.lock
添加到您的版本控制中。随后的pub get
将始终获取锁定的2.0.4
,直到您更改dependencies
或 运行pub upgrade
中的某些内容。如果您 运行pub upgrade
并且软件包作者发布了2.3.0
则将包含此新版本。另一方面,如果包作者发布3.0.0
它仍然不会被使用,因为^2.0.1
与>=2.0.1 <3.0.0
的意思相同