Google推出flutter這樣一個新的高性能跨平臺(Android,ios)快速開發框架以後,被業界許多開發者所關注。我在接觸了flutter以後發現這個確實是一個好東西,好東西固然要和你們分享,對吧。ios
今天要跟你們分享的是如何解決flutter中依賴版本衝突。bash
這篇文章最初出如今:Iiro的博客中。框架
咱們在開發flutter項目中,經常會依賴第三方庫。flutter依賴項越多,就越有可能出現依賴版本衝突。性能
Because new_trend depends on build_runner >=0.9.0 which requires SDK version >=2.0.0-dev.61 <3.0.0, version solving failed.
pub get failed (1)
複製代碼
它的pubspec.yaml文件應該看上去是這樣的ui
dev_dependencies:
build_runner: ^0.9.0
複製代碼
咱們能夠經過報錯信息清楚地看到,這是因爲build_runner和SDK版本衝突所致使的。spa
當咱們不清楚當前到底應該使用依賴的哪個版本時,咱們可使用any
來解決版本依賴版本衝突的問題。調試
dev_dependencies:
build_runner: any
複製代碼
any會自動調用pub的版本分析器,尋找合適的可以避免衝突的依賴版本並下載。咱們將不會再看到pub抱怨版本依賴版本衝突啦!code
咱們知道咱們不該該把any
留在這,因此咱們須要將正確的依賴版本把any
關鍵字替換掉!cdn
咱們打開pubspec.lock,這是根據當前項目依賴所生成的文件,記錄了當前使用的依賴版本。blog
咱們能夠在這裏找到版本分析器爲咱們找到的無衝突的依賴版本號,這裏能夠看到build_runner使用了0.8.3版本的依賴。再回到pubspec.yaml文件,將any版本號替換成實際版本。
dev_dependencies:
build_runner: 0.8.3
複製代碼
這樣就能夠完美解決版本依賴問題啦~
在實際項目開發中,擁有不肯定性的版本號會成爲將來應用崩潰的一個極大的隱患。這可能將會使您的應用難以調試。因此請記住,不要在你的項目中留下any
關鍵字!
若是各位還在flutter項目中遇到了其餘關於版本依賴問題,歡迎在下方評論區留言或者給我發送郵件 1652219550a@gmail.com 我會很樂意解答您的問題!