美文网首页
关于Flutter插件^符号的坑

关于Flutter插件^符号的坑

作者: Fitem | 来源:发表于2021-09-09 11:04 被阅读0次

    ^符号设计的本意是获取当前大版本下的最新版本插件,以此来获得最好的支持。但是最近在Jenkins上打包时发现存在插件小版本不兼容的问题,导致功能无法正常使用,且非常难定位到,浪费大量时间。

    该问题只在第一次运行项目时才会遇到,本地开发环境由于已经缓存了一个正常版本,不会再获取最新的版本插件

    问题出现的本质是:插件开发人员缺乏对插件的版本号管理,没有考虑同一版本兼容性问题,若存在不兼容情况时应该升级大版本号以此来提醒使用者选择更新

    目前遇到问题的插件
    • dio: 3.0.9 -> 3.0.10,导致后台接口请求参数错误
    • get: 4.1.4 -> 4.3.8,直接代码报错,打包后部分路由无法跳转
    建议

    程序应该保证所有的变量可控,建议放弃^符号改为指定具体版本,避免插件更新导致环境出现问题

    版本二

    时间:2022年01月24日16:20:22

    1. flutter_screenutil自动升级版本导致页面异常问题
      最近使用之前部署的Jenkins给App打包,发现新打包的App点击登录页面白屏的情况,有过之前插件自动升级的经验,这次快速排查了项目在服务器和本地第三方sdk的引用版本
      使用命令flutter pub deps:
    第三方插件引用版本.png

    比较发现flutter_screenutil出现小版本自动升级情况,本地修改版本运行app确认是该插件导致的问题。


    插件版本比较.png

    检查插件项目Github,在issue发现已提出该问题,插件开发者推荐使用调整初始化方式解决该问题


    issue.png

    但这种情况对我们的项目是有非常大的潜在风险的。这里再次重申,Flutter插件的引入一定要采用指定版本的模式,避免由于插件小版本的自动升级导致项目运行异常的问题!

    相关文章

      网友评论

          本文标题:关于Flutter插件^符号的坑

          本文链接:https://www.haomeiwen.com/subject/oheiwltx.html