博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flutter | 如何优雅的解决依赖版本冲突
阅读量:5739 次
发布时间:2019-06-18

本文共 1075 字,大约阅读时间需要 3 分钟。

前言

Google推出flutter这样一个新的高性能跨平台(Android,ios)快速开发框架之后,被业界许多开发者所关注。我在接触了flutter之后发现这个确实是一个好东西,好东西当然要和大家分享,对吧。

今天要跟大家分享的是如何解决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关键字!

写在最后

如果各位还在flutter项目中遇到了其他关于版本依赖问题,欢迎在下方评论区留言或者给我发送邮件 我会很乐意解答您的问题!

转载地址:http://zvfzx.baihongyu.com/

你可能感兴趣的文章
动态规划---->货郎担问题
查看>>
添加虚拟子网
查看>>
Ubuntu 12.04 root用户登录设置
查看>>
存储过程点滴
查看>>
Maven编译跳过test的设置
查看>>
[LeetCode]22.Generate Parentheses
查看>>
计算A/B Test需要的样本量
查看>>
二叉树前序中序后序遍历的非递归方法
查看>>
mysql 行转列列转行
查看>>
《设计模式系列》---桥接模式
查看>>
[Unity3d]Shader 着色器 学习前了解知识
查看>>
Redrain duilib中事件委托存在的问题
查看>>
字符串的简单操作
查看>>
C#新功能--命名参数与可选参数
查看>>
strtok和strtok_r
查看>>
维辰超市:借助云商城成功转型新零售
查看>>
web.xml中<load-on-start>n</load-on-satrt>作用
查看>>
【算法】CRF
查看>>
windows 8 微软拼音输入法
查看>>
Windows UI风格的设计(7)
查看>>