「解决方案」命令行执行flutter doctor无响应原因追踪及解决

问题再现

  最近在学习Flutter开发,在一次配置环境的过程中遇到了一个比较尴尬的坑,不过最终还是把这个坑给填掉了,再此进行一些分享,希望后来者遇到同样的问题时可以轻松的解决。
  从下图中可以看出,前面几条flutter doctor命令执行的时候总是未响应,通过各种方式执行都是一样的结果,但是dart命令是能够正常执行。起初还以为是环境变量配置的有问题,但是后来把环境变量改了又改,并且把flutter包换了又换,但是现象一直未得到解决。

flutter-comman-not-response-when-git-installed

解决问题

寻求网络帮助

  遇到这种难题第一时间想到的便是百度,但是各种关键词搜索了一番之后,竟然没有找到一篇关于这种现象的解决方案,大部分都是flutter命令使用教程,如用flutter doctor去查看环境是否配置完成,或者通过flutter doctor --android-licenses命令去接受Android SDK的一些协议许可。
  后来,又尝试了必应和Google搜索,也无果之后,放弃了通过网络寻求帮助解决的方法。

大胆试错

  由于只有flutter的命令执行的时候无响应,所以起初认为是程序包有问题。于是通过再次解压程序压缩包和配置环境变量之后,问题仍然存在。
  随后,判断了不是程序包的问题之后开始去监控应用进程的变化。

  • 任务管理器
      从图中可以发现在任务管理器的详细信息栏里看到了很多个git正在执行,并且很卡。

flutter-comman-not-response-when-git-installed

  • 性能
      从性能栏页面底部的打开资源监视器进入到资源监控页面

flutter-comman-not-response-when-git-installed

flutter-comman-not-response-when-git-installed

根源

  到这里,可以猜到很可能是由于git导致的问题,但是先前安装过flutter都没有问题,这一次重装系统之后就突然有问题了。所以就尝试着把git软件给删除并重新安装,然后奇迹的发现了flutter doctor命令可以正常执行了。
  于是又倒退回去复现了一下问题,发现是安装git的时候选项选的有问题导致了和flutter冲突。
  如下图,选择了Use Window’s default console window的选项来安装git软件之后,git bash是直接用的window的命令窗口来执行命令。正是因为选中了这个选项所以导致flutter命令无响应的问题。
  所以如果你出现了和我一样的问题可以尝试重新安装git软件,并在这一步选择Use MinTTY的选项来安装。

flutter-comman-not-response-when-git-installed

完美填坑

  经过不断的试错,终于将这个问题解决了,flutter命令也可以正常执行了。如图,通过VSCode开发工具可以正常的执行flutter create hello_flutter创建新的flutter项目。

flutter-comman-not-response-when-git-installed

写在最后

  遇到问题要大胆试错,只要不断的尝试就会离问题的起因更近,最后找到解决问题的办法。如果你的flutter遇到了相同的问题而又不是由于git导致的话,也可以通过类似的方式不断试错并找到最终的解决方案。也欢迎各位同行可以在评论里分享自己解决问题的方法。
  乐于分享,共同进步。