M1 MacBook配置Flutter Web时flutterfire_cli无法运行如何解决
问题场景
- 设备:M1版MacBook Pro,系统版本macOS Monterey v12.4
- 前置环境:已完成Flutter安装,有Flutter沙盒应用开发经验,本地环境版本为node v16.15.1、nvm 0.39.1、npm 8.12.1
- 需求:结合Flutter与Cloud Firestore开发Web应用,使用flutterfire_cli完成配置
- 遇到的报错:
- 执行
dart pub global activate flutterfire_cli拉取完所有依赖后,提示路径/Users/myusername/.pub-cache/hosted/pub.dartlang.org/flutterfire_cli-0.2.2+2下找不到pubspec.yaml文件 - 后续执行
flutterfire configure时,终端报错zsh: command not found: flutterfire
- 执行
解决步骤
修复flutterfire_cli激活时的pubspec缺失报错
这个报错是网络拉取依赖时丢包,导致缓存的包文件损坏不完整,按以下操作处理:
- 先删除已损坏的缓存包,执行命令:
rm -rf ~/.pub-cache/hosted/pub.dartlang.org/flutterfire_cli-* - 重新激活最新稳定版flutterfire_cli,带上覆盖参数避免旧缓存冲突:
dart pub global activate flutterfire_cli --overwrite - 如果执行完还是报同类文件缺失错误,直接修复整个pub缓存:
dart pub cache repair
修复完成后重新执行激活命令即可,M1设备如果遇到权限拒绝提示,在命令前加sudo执行,输入本机开机密码即可。
修复flutterfire命令找不到的报错
这个问题是Dart全局包的执行路径没有加入zsh的环境变量,按以下步骤配置:
- 打开zsh配置文件:
nano ~/.zshrc - 在文件最末尾追加一行路径配置:
export PATH="$PATH":"$HOME/.pub-cache/bin" - 按
Ctrl+O触发保存,按回车键确认文件名,再按Ctrl+X退出编辑器 - 执行命令让新配置立即生效:
source ~/.zshrc - 验证配置结果,执行:
flutterfire --version
终端正常输出版本号就说明配置生效,后续可以直接在项目目录执行flutterfire configure走正常配置流程。
补充说明:如果Android Studio内置终端执行命令还是提示找不到,完全退出Android Studio后重新打开即可,内置终端会自动加载最新的系统环境变量,不需要额外修改IDE配置。
内容的提问来源于stack exchange,提问作者Martin Palmer
相关产品推荐
相关产品推荐

