關(guān)于Flutter插件^符號的坑

^符號設(shè)計的本意是獲取當前大版本下的最新版本插件,以此來獲得最好的支持。但是最近在Jenkins上打包時發(fā)現(xiàn)存在插件小版本不兼容的問題,導致功能無法正常使用,且非常難定位到,浪費大量時間。

該問題只在第一次運行項目時才會遇到,本地開發(fā)環(huán)境由于已經(jīng)緩存了一個正常版本,不會再獲取最新的版本插件

問題出現(xiàn)的本質(zhì)是:插件開發(fā)人員缺乏對插件的版本號管理,沒有考慮同一版本兼容性問題,若存在不兼容情況時應(yīng)該升級大版本號以此來提醒使用者選擇更新

目前遇到問題的插件
  • dio: 3.0.9 -> 3.0.10,導致后臺接口請求參數(shù)錯誤
  • get: 4.1.4 -> 4.3.8,直接代碼報錯,打包后部分路由無法跳轉(zhuǎn)
建議

程序應(yīng)該保證所有的變量可控,建議放棄^符號改為指定具體版本,避免插件更新導致環(huán)境出現(xiàn)問題

版本二

時間:2022年01月24日16:20:22

  1. flutter_screenutil自動升級版本導致頁面異常問題
    最近使用之前部署的Jenkins給App打包,發(fā)現(xiàn)新打包的App點擊登錄頁面白屏的情況,有過之前插件自動升級的經(jīng)驗,這次快速排查了項目在服務(wù)器和本地第三方sdk的引用版本
    使用命令flutter pub deps:
第三方插件引用版本.png

比較發(fā)現(xiàn)flutter_screenutil出現(xiàn)小版本自動升級情況,本地修改版本運行app確認是該插件導致的問題。


插件版本比較.png

檢查插件項目Github,在issue發(fā)現(xiàn)已提出該問題,插件開發(fā)者推薦使用調(diào)整初始化方式解決該問題


issue.png

但這種情況對我們的項目是有非常大的潛在風險的。這里再次重申,F(xiàn)lutter插件的引入一定要采用指定版本的模式,避免由于插件小版本的自動升級導致項目運行異常的問題!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容