You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac M1 2020运行flutter doctor -v报错求助

Flutter doctor -v 执行失败(Mac M1 2020)

问题描述

在Mac M1 2020设备上使用Flutter时,运行flutter doctor -v命令抛出以下错误栈:

#0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
#1      _DefaultPub._runWithStdioInherited (package:flutter_tools/src/dart/pub.dart:447:7)
<asynchronous suspension>
#2      _DefaultPub.get (package:flutter_tools/src/dart/pub.dart:323:5)
<asynchronous suspension>
#3      PubDependencies.update (package:flutter_tools/src/flutter_cache.dart:126:5)
<asynchronous suspension>
#4      Cache.updateAll (package:flutter_tools/src/cache.dart:677:9)
<asynchronous suspension>
#5      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1518:7)
<asynchronous suspension>
#6      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1336:27)
<asynchronous suspension>
#7      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#8      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#9      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:296:9)
<asynchronous suspension>
#10     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#11     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:244:5)
<asynchronous suspension>
#12     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:91:9)
<asynchronous suspension>
#13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#14     main (package:flutter_tools/executable.dart:91:3)
<asynchronous suspension>

已尝试以下方案但均未解决问题:

  • 重装最新版本的Flutter
  • 确认Xcode和Android Studio已正确安装并更新至最新版本
  • 检查环境变量,已将Flutter的bin目录添加至PATH
  • 执行flutter doctor --android-licenses确认已接受所有Android许可证
  • 多次重启笔记本电脑
  • 清理Flutter缓存后重新运行doctor命令
  • 直接运行flutter doctor无任何输出

解决建议

1. 安装并启用Rosetta 2

M1芯片为ARM架构,部分Flutter工具依赖x86_64二进制文件,执行以下命令安装Rosetta 2:

/usr/sbin/softwareupdate --install-rosetta --agree-to-license

安装完成后,右键终端图标选择「使用Rosetta打开」,再重新运行flutter doctor -v。

2. 手动配置Dart SDK路径

若Flutter无法自动关联Dart SDK,手动添加路径至环境变量:

export PATH="$PATH:/path/to/flutter/bin/cache/dart-sdk/bin"

将/path/to/flutter替换为你的Flutter实际安装目录,执行后重新运行flutter doctor -v。

3. 修复Flutter目录权限

确保Flutter安装目录及缓存目录拥有读写权限:

sudo chmod -R 755 /path/to/flutter
sudo chown -R $(whoami) /path/to/flutter

替换路径后,清理缓存再重试:

flutter clean
flutter pub get
flutter doctor -v

4. 切换至Flutter稳定通道

若当前使用dev/master通道,可能存在兼容性问题,切换至稳定版:

flutter channel stable
flutter upgrade
flutter doctor -v

5. 重新配置Xcode命令行工具

确保Xcode命令行工具正确安装并授权:

xcode-select --install
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
xcodebuild -license accept

完成后重启终端,再执行flutter doctor -v。

内容的提问来源于stack exchange,提问作者Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 03:01:28