解决由于flutter的升级导致第三方库无法使用的问题

转自"http://blog.wgq.name/2018/08/30/%E8%A7%A3%E5%86%B3%E7%94%B1%E4%BA%8Eflutter%E7%9A%84%E5%8D%87%E7%BA%A7%E5%AF%BC%E8%87%B4%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BA%93%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E7%9A%84%E9%97%AE%E9%A2%98/"

比如我现在安装了一个画k线图的第三方库 flutter_candlesticks: ^0.1.1 当我们升级完flutter后(升级后flutter SDK的版本为2.1.0),重新get第三方库时发现以下这个错误

Because xxxxxx depends on flutter_candlesticks >=0.0.2 which requires SDK version >=1.23.0 <=2.0.0, version solving failed. pub get failed (1) exit code 1

这个错误提示说明的挺清楚的,意思就是说我们要安装的0.1.1版本的flutter_candlesticks库,它从0.0.2版本开始就对flutter SDK的版本有要求了,要求flutter SDK的版本必须在>=1.23.0 <=2.0.0之间,那么我们当前的flutter SDK版本是2.1.0,显然不在这个范围内,所以无法安装. 我们无法控制作者做出对应的修改,然而我们坐等不知猴年马月作者才会更新更不是个办法.幸好现在大多数的第三方库源码都是托管在github上的,所以我们只要到github上fork一份项目,然后修改版本范围,最后在在配置文件中指明这个库的来源从我们指定的github上获取就行了. 首先我们到flutter第三方库的网站上找到这个库

然后你在左边的”关于”栏目中可以看到这个库在github上的链接”Homepage(GitHub)” 点击进入github,然后fork这个项目, 至于fork的作用这里不再多说,相当于你在github服务器端clone了一次这个项目,这也意味着你拥有了一个这个项目的副本,也就拥有了修改的权利,因为现在这个副本是在你的帐号下,如图:

接下来就可以自由修改了,我们主要的目的是修改配置文件,让他的SDK要求适应新版本,直接找到项目列表中的配置文件pubspec.yaml,在浏览器中直接点开这个文件

在右上角的工具栏那有个笔一样的图标,点击他就能直接在服务器端编辑这个文件了,不用clone到本地. 我们找到文件中以下部分内容

这里就是罪魁祸首了,直接修改为

即可,修改后点击页面底部的”commit changes”就可以提交修改了. 提交成功后,在顶部项目名称那一行的下面一行是最后一次提交的信息,现在看到的应该是这样

点击前面的hash值,查看这次提交的完整的hash值,记住这个值,一伙项目中要用到.

github端的事已经完成,剩下的就是修改你的项目配置文件,让这个库安装的时候从我们自己的github库上安装,打开项目中的pubspec.yaml配置文件,正常情况下应该是长这样的

现在我们要修改flutter_candlesticks库从我们自己的github上安装,直接照以下格式修改即可 修改后长这样

很明显,我们将后面的版本号去掉了,增加了git属性,说明是从git上安装,url指明了这个库在github上的位置,而ref指定了要安装的版本,就是刚才我们最后一次提交的hash值.好了,重新flutter get一下

搞定收工!

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值