MacBook Air M1 Ventura 13.1下Flutter项目重复报错求助
解决方案
针对M1 MacBook Air(Ventura 13.1)上Flutter每次开机都出现Error (1): Unable to 'pub upgrade' flutter tool的问题,以下是可彻底解决的方法:
1. 配置永久镜像源(解决网络导致的升级失败)
如果是网络访问问题导致pub升级失败,设置国内镜像并永久生效:
- 打开终端,执行以下命令写入shell配置:
echo 'export PUB_HOSTED_URL=https://pub.flutter-io.cn' >> ~/.zshrc echo 'export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn' >> ~/.zshrc - 让配置立即生效:
注:如果使用bash,把source ~/.zshrc.zshrc换成.bash_profile即可。
2. 修复Flutter目录权限
M1的权限管控可能导致缓存无法正常写入,给Flutter安装目录赋权:
sudo chown -R $(whoami):admin /你的Flutter安装路径
示例:如果Flutter放在~/Documents/flutter,则执行:
sudo chown -R $(whoami):admin ~/Documents/flutter
3. 禁用自动pub升级
强制关闭Flutter工具的自动升级逻辑:
- 终端执行命令时添加参数:
flutter run --no-pub-upgrade - IDE配置(以VS Code为例):打开
.vscode/launch.json,在args数组中添加"--no-pub-upgrade";Android Studio则在运行配置的“启动参数”中添加该内容。 - 若要全局禁用,可备份Flutter目录下
packages/flutter_tools/lib/src/context_runner.dart文件,然后注释掉其中调用pubUpgrade()的代码块。
4. 彻底重装Flutter
如果以上方法无效,彻底清理后重装:
- 删除当前Flutter安装目录,以及
~/.pub-cache文件夹; - 下载适配M1的Flutter稳定版安装包,解压到非中文路径;
- 重新配置环境变量,运行
flutter doctor完成初始化。
内容的提问来源于stack exchange,提问作者ElmHunter
相关产品推荐
相关产品推荐

