• Flutter —— Pub命令


     

    Pub工具包含管理Package、部署Package和部署命令行应用的命令。

    如果使用的是Flutter SDK,不要直接使用pub命令。而是使用flutter pub命令,如下:

    命令pub get/upgrade/outdated 属于管理Package的依赖关系

    pub get命令

    用于检索当前 Package 所依赖的其它 Package。如果 pubspec.lock 文件已经存在,则根据该文件中保存的依赖项版本获取对应的依赖项。如有必要,将会创建或更新该文件。

    pub outdated命令
    查看当前软件包所依赖的每个 package,确定哪些 package 的依赖项已过时,并为您提供有关如何更新它们的建议。当您要更新 package 的依赖性时,请使用此命令。

    pub upgrade命令
    用于检索当前 Package 所依赖的其它 Package 的最新版本。如果 pubspec.lock 文件已经存在,则忽略其保存的版本并以 pubspec 文件中指定的最新版本为主。如有必要,将会创建或更新该文件。

    更新 package 依赖

    当你添加一个 package 后首次运行 flutter pub get(IntelliJ 或 Android Studio 中的 Packages Get), Flutter 将会保存在 pubspec.lock lockfile 中找到的具体 package 版本。这将确保当你或者团队中其他开发者运行 flutter pub get 后能得到相同版本的 package。

    如果你想升级到 package 的最新版本,比如使用 package 的最新特性,请运行 flutter packages upgrade (IntelliJ 或 Android Studio 的 Upgrade dependencies 功能)。这将检索你在 pubspec.yaml 文件中指定的版本约束所允许的最高可用版本。请注意,flutter upgrade 与 flutter update-packages 是两个不同的命令,但它们都会更新 Flutter。

    案例

    1 > 在flutter项目中导入oktoast包,在pubspec.yaml文件中添加配置:

    dependencies:

          oktoast: ^2.2.0

    执行flutter pub get,可以在 pubspec.lock 中看到 oktoast 版本是2.3.2,这是因为目前oktoast的最新版本是2.3.2,配置“^”表示向最新版本兼容,具体可查看Package版本管理(https://dart.cn/tools/pub/versioning),所以再执行flutter pub upgrade 可以看到版本还是2.3.2,这个时候会发现pub get和 pub upgrade 效果一样。

    但是未来如果 oktoast 发布了2.4.0版本,这个时候使用flutter pub get在pubspec.lock中看到oktoast版本依旧是2.3.2,而执行flutter pub upgrade 后在pubspec.lock中看到oktoast版本就是2.4.0。

       

    2> 现在先在flutter 项目的pubspec.yaml文件添加配置,指定oktoast版本是2.2.0,如下:

     dependencies:

          oktoast: 2.2.0

    这个时候执行flutter pub get后可以在pubspec.lock的文件中看到oktoast版本是2.2.0,如果这个时候更改配置为 oktoast: ^2.2.0,在执行flutter pub get就会发现

    在pubspec.lock的文件中看到oktoast版本还是2.2.0,这个时候可以执行flutter pub outdated查看依赖的每个 package,如下图,可以看到Upgrable项oktoast版本号为2.3.2,执行flutter pub upgrade 后可以看到在pubspec.lock的文件中看到oktoast版本是2.3.2

    3> 导入本地未发布的包

    在pubspec.yaml文件添加配置:

    dependencies:

        flutter_log:

      path: ../magic_library/flutter_log/

    flutter_log信息如下图:

      执行flutter pub get后在pubspec.lock中看到flutter_log版本是0.0.1

      

       现在修改flutter_log版本号为0.0.2,再执行flutter pub get会发现版本会及时更新为0.0.2,这个时候执行flutter pub get/upgrade效果一样

     

    参考文档:

    https://dart.cn/tools/pub/cmd

    https://flutter.cn/docs/development/packages-and-plugins/using-packages

    https://flutter.cn/docs/reference/flutter-cli

    https://dart.cn/tools/pub/versioning

  • 相关阅读:
    html中label及加上属性for之后的用法
    Django中利用filter与simple_tag为前端自定义函数的实现方法
    关于自动编译iOS工程,生成app及ipa文件的方法-备
    ios打包ipa的四种实用方法(.app转.ipa)-备
    为GCD队列绑定NSObject类型上下文数据-利用__bridge_retained(transfer)转移内存管理权-备
    GCD使用经验与技巧浅谈--备
    h5与iOS的wkwebview不兼容问题
    cocoaPods 安装和应用
    .a静态库的注意事项
    UIApplication详解再解-备
  • 原文地址:https://www.cnblogs.com/lulushen/p/14150544.html
Copyright © 2020-2023  润新知