【Flutter】解決依賴版本沖突



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

我們在開發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文件應該看上去是這樣的

dev_dependencies:
  build_runner: ^0.9.0 

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

解決方法

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

dev_dependencies:
  build_runner: any 

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

還沒完!

我們知道我們不應該把any留在這,所以我們需要將正確的依賴版本把any關鍵字替換掉!

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

我們打開pubspec.lock,這是根據當前項目依賴所生成的文件,記錄了當前使用的依賴版本。

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

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

dev_dependencies:
  build_runner: 0.8.3 

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

Q&A:

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

在實際項目開發中,擁有不確定性的版本號會成為未來應用崩潰的一個極大的隱患。這可能將會使您的應用難以調試。所以請記住,不要在你的項目中留下any關鍵字!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM