【问题标题】:Flutter version constraints missunderstandingFlutter 版本约束误区
【发布时间】:2021-10-01 09:00:21
【问题描述】:

这意味着如果我使用包版本 ^2.0.1,这意味着如果此某些包的开发人员将其包更新为 3.0.0,我的应用程序(包括此包)将丢失它,尽管我的应用程序发布了吗?

【问题讨论】:

    标签: flutter dart package


    【解决方案1】:
    1. 不,依赖关系仅在编译时解决。一旦您的应用程序发布,这些显然不会改变。
    2. 不,如果您的 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相同

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-16
      • 1970-01-01
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      • 2021-09-14
      • 2014-01-15
      • 2019-09-10
      相关资源
      最近更新 更多