十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最近在学习Flutter开发,在一次配置环境的过程中遇到了一个比较尴尬的坑,不过最终还是把这个坑给填掉了,再此进行一些分享,希望后来者遇到同样的问题时可以轻松的解决。
10年积累的成都网站设计、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先制作网站后付款的网站建设流程,更有翠屏免费网站建设让你可以放心的选择与我们合作。
从下图中可以看出,前面几条 flutter doctor 命令执行的时候总是未响应,通过各种方式执行都是一样的结果,但是dart命令是能够正常执行。起初还以为是环境变量配置的有问题,但是后来把环境变量改了又改,并且把flutter包换了又换,但是现象一直未得到解决。
遇到这种难题第一时间想到的便是百度,但是各种关键词搜索了一番之后,竟然没有找到一篇关于这种现象的解决方案,大部分都是flutter命令使用教程,如用 flutter doctor 去查看环境是否配置完成,或者通过 flutter doctor --android-licenses 命令去接受Android SDK的一些协议许可。
后来,又尝试了必应和Google搜索,也无果之后,放弃了通过网络寻求帮助解决的方法。
由于只有flutter的命令执行的时候无响应,所以起初认为是程序包有问题。于是通过再次解压程序压缩包和配置环境变量之后,问题仍然存在。
随后,判断了不是程序包的问题之后开始去监控应用进程的变化。
到这里,可以猜到很可能是由于git导致的问题,但是先前安装过flutter都没有问题,这一次重装系统之后就突然有问题了。所以就尝试着把git软件给删除并重新安装,然后奇迹的发现了 flutter doctor 命令可以正常执行了。
于是又倒退回去复现了一下问题,发现是安装git的时候选项选的有问题导致了和flutter冲突。
如下图,选择了 Use Window's default console window 的选项来安装git软件之后,git bash是直接用的window的命令窗口来执行命令。正是因为选中了这个选项所以导致flutter命令无响应的问题。
所以如果你出现了和我一样的问题可以尝试重新安装git软件,并在这一步选择 Use MinTTY 的选项来安装。
经过不断的试错,终于将这个问题解决了,flutter命令也可以正常执行了。如图,通过VSCode开发工具可以正常的执行 flutter create hello_flutter 创建新的flutter项目。
遇到问题要大胆试错,只要不断的尝试就会离问题的起因更近,最后找到解决问题的办法。如果你的flutter遇到了相同的问题而又不是由于git导致的话,也可以通过类似的方式不断试错并找到最终的解决方案。也欢迎各位同行可以在评论里分享自己解决问题的方法。
乐于分享,共同进步。
我想你想要的是:target.difference(DateTime.now()).toString().split('.')[0])
使用.split('.')[0]持续时间来去掉秒的分数。
其中target是DateTime对象。flutter计算给定小时的剩余时间,以秒为单位更新flutter,因此,时间以h:m:s为单位,例如,如果给定的时间是(6:27pm),我希望得到此结果(剩余时间02:21:02)。
打印结果:Text('Timeuntil${DateFormat.Hms().format(target)}');Text(target.difference(DateTime.now()).toString().split('.')[0])
1,执行 flutter pub publish--dry-run 检查是否具备发布条件
遇到的问题1:
It‘s strongly recommended to include a “homepage“ or “repository“ field
解决方案:在 pubspec. yaml 中配置 主页 homepage 地址 :
homepage:
可参考:
2,执行 flutter pub publish--server= 发布
如果执行flutter pub publish发布的话会遇到以下错误,国内还是用 flutter pub publish--server= 来发布
package repository requested authentication! You can provide credential using:pub token add
问题1:It looks like accounts.google.com is having some trouble. Pub will wait for a while before trying to connect again. OS Error: Operation timed out, errno = 60, address = accounts.google.com, port = 53481 pub finished with exit code 69
原因:
1、国内墙;
2、flutter环境配置添加了国内镜像
解决方式:
1、翻墙;
2、屏蔽环境变量里关于flutter的国内镜像;
屏蔽方式如下:
# export PUB_HOSTED_URL=
# export FLUTTER_STORAGE_BASE_URL=
3、设置终端代理命令(这个是我解决的方式),这个非常重要,不然就会报上面超时错误了
如果出现:Flutter pub finished with exit code 1
解决方式:flutter packages pub publish --server=
此问题原文链接:(毕竟要尊重版权)
问题2:LICENSE这个文件中不能有TODO,也不能为空,可找个flutter库看看别人是怎么写的