如何在Android Studio终端运行Flutter命令?Mac M1设备终端执行异常问题求助
解决Android Studio内置终端无法执行Flutter命令的问题(M1 Mac Monterey)
我之前在M1 Macbook Air + macOS Monterey 12.2 + Android Studio Bumblebee环境下遇到过完全一样的问题——系统终端能正常跑Flutter项目,但AS内置终端一输flutter相关命令就报错。大概率是内置终端没有正确加载你的Flutter环境变量,下面是几个亲测有效的解决步骤:
1. 检查Android Studio终端的Shell配置
Android Studio默认的终端Shell可能没匹配M1 Mac的默认zsh,导致环境变量没加载:
- 打开Android Studio,顶部菜单栏选
Android Studio > Preferences(或按Cmd+,快捷键) - 左侧导航找到
Tools > Terminal - 确认
Shell path设置为/bin/zsh(M1 Mac默认shell是zsh,若之前用bash则改为/bin/bash) - 勾选
Shell integration选项,重启Android Studio的终端后,再尝试执行flutter doctor
2. 手动加载环境变量
如果调整Shell配置后仍无效,先在AS内置终端里手动执行加载命令:
- 若使用zsh:
source ~/.zshrc - 若使用bash:
source ~/.bash_profile
执行完后再运行flutter doctor,如果能正常输出,说明AS终端没自动加载你的shell配置文件。可以把这个加载命令加到AS终端的启动脚本里,或者确保你的shell配置文件没有仅在登录shell加载的限制。
3. 对比系统终端和AS终端的PATH变量
系统终端能运行Flutter,说明你的环境变量配置是正确的,对比两者的PATH就能定位问题:
- 先在系统终端执行:
echo $PATH,复制输出的路径(里面应包含你的Flutter bin目录,比如/Users/你的用户名/flutter/bin) - 再在AS内置终端执行同样的命令,对比两个输出内容。如果AS终端的PATH里没有Flutter的路径,说明环境变量加载失败。
此时要确保你的shell配置文件(.zshrc或.bash_profile)里有正确的Flutter路径配置:
export PATH="$PATH:/Users/你的用户名/flutter/bin" export PATH="$PATH":"$HOME/.pub-cache/bin"
保存配置文件后,重启AS终端或手动source一下配置文件即可。
4. 尝试用Rosetta运行Android Studio(兼容性兜底)
M1芯片的Rosetta兼容层有时候能解决一些终端环境的奇怪问题:
- 找到Launchpad里的Android Studio图标,右键选
Get Info - 勾选
Open using Rosetta,重启Android Studio后再测试内置终端的Flutter命令
这个方法可能会略微影响性能,但如果前面的方法都没解决,可以试试这个兜底方案。
内容的提问来源于stack exchange,提问作者Berkant Aras
相关产品推荐
相关产品推荐

