Flutter | 如何優(yōu)雅的解決依賴版本沖突

Google推出flutter這樣一個新的高性能跨平臺(Android,ios)快速開發(fā)框架之后,被業(yè)界許多開發(fā)者所關(guān)注。我在接觸了flutter之后發(fā)現(xiàn)這個確實(shí)是一個好東西,好東西當(dāng)然要和大家分享,對吧。

今天要跟大家分享的是如何解決flutter中依賴版本沖突。

為什么會存在版本依賴問題

我們在開發(fā)flutter項(xiàng)目中,常常會依賴第三方庫。flutter依賴項(xiàng)越多,就越有可能出現(xiàn)依賴版本沖突。

Because new_trend depends on build_runner >=0.9.0whichrequires SDK version >=2.0.0-dev.61 <3.0.0, version solving failed.pub get failed (1)

它的pubspec.yaml文件應(yīng)該看上去是這樣的

dev_dependencies:? build_runner: ^0.9.0

我們可以通過報錯信息清楚地看到,這是由于build_runner和SDK版本沖突所導(dǎo)致的。

解決方法

當(dāng)我們不清楚當(dāng)前到底應(yīng)該使用依賴的哪一個版本時,我們可以使用any來解決版本依賴版本沖突的問題。

dev_dependencies:

? build_runner: any

any會自動調(diào)用pub的版本分析器,尋找合適的能夠避免沖突的依賴版本并下載。我們將不會再看到pub抱怨版本依賴版本沖突啦!

還沒完!

我們知道我們不應(yīng)該把a(bǔ)ny留在這,所以我們需要將正確的依賴版本把a(bǔ)ny關(guān)鍵字替換掉!

使用pubspec.lock找到正確的版本

我們打開pubspec.lock,這是根據(jù)當(dāng)前項(xiàng)目依賴所生成的文件,記錄了當(dāng)前使用的依賴版本。

image

我們可以在這里找到版本分析器為我們找到的無沖突的依賴版本號,這里可以看到build_runner使用了0.8.3版本的依賴。

再回到pubspec.yaml文件,將any版本號替換成實(shí)際版本。

dev_dependencies:? build_runner:0.8.3

這樣就可以完美解決版本依賴問題啦~

Q&A:

為什么不直接使用any作為版本號呢

在實(shí)際項(xiàng)目開發(fā)中,擁有不確定性的版本號會成為未來應(yīng)用崩潰的一個極大的隱患。這可能將會使您的應(yīng)用難以調(diào)試。所以請記住,不要在你的項(xiàng)目中留下any關(guān)鍵字!


出自:http://www.itdecent.cn/p/3af57fbb7efe

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

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

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