當你的項目需要安裝的依賴包越多,遇到包沖突可能性就越大,尤其是當依賴的包有重大更新時。比如下圖:
上面可以看到是xml跟intl_translation兩個包有沖突,因為他們依賴兩個不同的petitparser包。打開pubspec .yaml看到:
可能解決辦法是去 pub.dartlang.org手動嘗試歷史版本的包,這么麻煩的嗎?有沒有別的解決辦法呢?當然。
解決辦法:
通過將兩者依賴包版本號改為:any,點擊flutter packages get重新獲取包,這樣就會自動去匹配適合兩者的包,運行結果如下:
這樣就結束了嗎?當然不是。any相當於給依賴松綁,你不清楚它依賴的具體版本號,正常開發每個項目依賴的包版本肯定需要具體明確,不然過后可能又會遇到災難錯誤。所以,在根目錄下找到pubspec.lock.yarm文件,看到
可以看到這里寫出了修復兩者依賴沖突的對應版本號,這時重新去將any改為上面看到的版本號就可以了~
完~