我們在開發(fā)Flutter,經(jīng)常會遇到第三方庫的沖突
比如下邊這個
Because *** depends on AAA ^0.0.9 which depends on ### ^1.0.0,?### ^1.0.0 is required.
So, because *** depends on ### ^3.1.0, version solving failed.
問題是,你引用的那個第三方庫B,它所引用的另一個庫C的版本低于你自己工程里C的版本。
解決方案
第一種:直接使用關(guān)鍵字 any
C: any,系統(tǒng)會自動匹配適合你項目的C庫的版本
然后在pubspec.lock文件找到你C庫的版本,替換any即可
第二種:如果你不想使用系統(tǒng)給你匹配的庫的話,因為系統(tǒng)可能會選擇版本特別低的C庫,這時你可以手動改變引用庫的版本。
1.先刪掉你項目中C庫的引用
2.pubspec.yaml 寫你要引用的B的版本,執(zhí)行 packages get,這時,最新的B已經(jīng)在你的電腦上
3.在external library中找到你引用的B庫,找到pubspec.yaml文件,手動修改C的版本,再次執(zhí)行packages get即可