为什么会存在版本依赖问题
我们在开发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,这是根据当前项目依赖所生成的文件,记录了当前使用的依赖版本。
再回到pubspec.yaml文件,将any版本号替换成实际版本。
dev_dependencies:
build_runner: 0.8.3
这样就可以完美解决版本依赖问题啦~
Q&A:
为什么不直接使用any作为版本号呢
在实际项目开发中,拥有不确定性的版本号会成为未来应用崩溃的一个极大的隐患。这可能将会使您的应用难以调试。所以请记住,不要在你的项目中留下any关键字!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。