如何在M1 Mac上运行存储在外置磁盘的Flutter项目
问题根因
该报错和项目代码本身无关,是外置磁盘的挂载权限、访问规则、格式兼容性限制,导致编译时无法正常读取plist文件、解析符号链接依赖,才出现两类异常报错。
可执行解决方案
1. 开启工具链的完全磁盘访问权限
- 打开「系统偏好设置」→「安全性与隐私」→「隐私」标签页
- 找到左侧列表的「完全磁盘访问权限」选项,勾选你使用的终端(Terminal/iTerm2)、代码编辑器(VS Code/Android Studio)、Xcode
- 重启所有勾选的应用后再尝试运行项目
2. 开启外置磁盘的符号链接支持
Flutter iOS编译依赖的.symlinks目录需要符号链接权限,外置磁盘默认挂载可能禁用了该权限:
- 先正常卸载外置磁盘再重新插入
- 执行临时挂载命令开启符号链接支持(将下方的
dwika替换为你的外置磁盘实际名称):
sudo mount -u -o symlinks /Volumes/dwika
- 如需永久生效,可将该挂载规则写入
/etc/fstab配置文件
3. 确认外置磁盘格式兼容性
- 确保外置磁盘采用*APFS(不区分大小写)*格式,不要使用FAT32、ExFAT、区分大小写的APFS格式,Flutter和iOS编译工具链对这类格式的兼容性存在已知问题
4. 清理缓存重新构建
完成上述配置后,在项目目录下执行以下命令清理旧缓存后重新构建:
flutter clean rm -rf ios/Pods ios/Podfile.lock flutter pub get cd ios && pod install --repo-update cd .. && flutter run
内容的提问来源于stack exchange,提问作者Dwikavindra Haryo Radithya
相关产品推荐
相关产品推荐

