
正文
flutter命令,flutter文件操作
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
命令行执行flutter doctor无响应原因追踪及解决
最近在学习Flutter开发,在一次配置环境的过程中遇到了一个比较尴尬的坑,不过最终还是把这个坑给填掉了,再此进行一些分享,希望后来者遇到同样的问题时可以轻松的解决。
从下图中可以看出,前面几条 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导致的话,也可以通过类似的方式不断试错并找到最终的解决方案。也欢迎各位同行可以在评论里分享自己解决问题的方法。
乐于分享,共同进步。
相关问答
Q1: 新建一个flutter项目,可以在ios上运行,四步搞定!
1. 建立一个flutter项目的命令
2. 在ios文件夹下,生成pods文件夹
3. Xcode环境签名设置;
把错误的版本删除再添加,可解决签名错误问题;必须先删除再添加,直接修改可能不起作用。团队开发,必须使用团队的签名。
4.运行创建的flutter项目;
选择真机、模拟机,点击运行按钮,或使用命令运行:
下面两步是赠送的:
5.新加一款插件,所涉及的命令;
ios 端所涉及的命令
6. 刚更新的插件和已有的插件有冲突怎么办?
可以试一试以下步骤:
Q2: Flutter 本地图片导入 2倍图 3倍图
1、flutter项目中分别创建assets、images文件夹,在images文件夹下创建 2.0x 和 3.0x文件夹,用来分别存放2倍图3倍图。
层级结构如图下图:
2、在pubspec.yaml进行配置 (注意flutter下 assets:与uses-material-design: 层级结构要左对齐否则会报错 点击查看错误展示 )
3、cd 进入 flutter 项目目录下,终端执行 flutter pub get 命令,使配置生效
4、图片使用
Q3: Flutter中使用gRPC
gRPC是谷歌开发的一款远程过程调用系统,可以让客户端像调用本地对象一样使用服务端应用的方法,使用protocol buffers接口定义语言来定义服务方法,protocol buffer定义参数和返回类型。
protobuf类似json,是一种数据结构协议,在android studio中安装Protobuf Support,方便查看编写的proto文件
dart使用proto插件将proto文件生成对应的dart文件,使用如下步骤
1、安装flutter之后,再flutter的下面路径中有pub命令,需要将命令加入到path中。
可以vi ~/.zshrc,在文件中加入source ~/.bash_profile,然后在vi ~/.bash_profile文件中加入下面路径(:分割不同的路径)
export PATH=/Users/webull/app/flutter/bin:/Users/webull/app/flutter/bin/cache/dart-sdk/bin:/Users/webull/.pub-cache/bin:$PATH
其中fluter/bin是flutter的命令路径,dart-sdk/bin中包含了pub和其他dart命令,.pub-cache/bin是之后运行pub之后建立的路径,里面包含了proto-gen-dart命令,用来将proto文件转换为dart的命令
2、使用下面的命令安装proto插件
$ pub global activate protoc_plugin
安装完成后,上面的用户目录中的.pub-cache目录才会有proto-gen-dart文件。
1、其中/Users/webull是我的用户目录 app/flutter是flutter的安装目录
参考:
1、gRPC介绍
2、gRPC配置
Q4: flutter无线真机调试
先用数据线连接手机,
1: cmd 命令 输入 adb devices
如果不存在adb
设置环境变量 在path新建
然后cmd 命令 输入 adb devices
再输入 adb -s 5GKDU19426000181 tcpip 8989
5GKDU19426000181 这是手机编号 tcpip 这是端口 随便写 不冲突就行
然后 adb connect 192.168.31.120:8989
192.168.31.120这是手机无线网的ip,点击手机的无线网就可以看到 8989就是tcpip 刚输入的端口号
Q5: Flutter 报错 zsh: command not found: flutter
flutter的命令失效, 提示 zsh: command not found: flutter
解决办法:
1 、执行:【open ~/.zshrc 】
2、如果 提示文件不存在,则执行:【vim ~/.zshrc 】新建一个新文件
3、新建窗口再执行【open ~/.bash_profile 】
4、把 打开的bash_profile 中的内容copy到 上一个窗口新建的zshrc 文件中,保存:
【:wq回车】
5、再使用source命令重新加载一下:【source ~/.zshrc】,下次再编辑这个文件就可以直接执行:【open ~/.zshrc】
6、运行【flutter -h 】看是否生效








