Xcode - 命令 PhaseScriptExecution 因非零退出代码而失败 - Mac M1

Posted

技术标签:

【中文标题】Xcode - 命令 PhaseScriptExecution 因非零退出代码而失败 - Mac M1【英文标题】:Xcode - Command PhaseScriptExecution failed with a nonzero exit code - Mac M1 【发布时间】:2021-10-15 04:04:25 【问题描述】:

这是我尝试使用 Xcode 12.5.1 构建 Flutter 应用程序时遇到的错误。我可以在模拟器上毫无问题地运行应用程序,我的朋友使用英特尔 MacBook Pro 可以构建它,但我无法使用 M1 处理器。

在我的主项目上尝试了很多东西后,我决定构建一个空项目以了解问题所在。当我尝试构建一个刚刚创建的项目时,我仍然遇到同样的错误。

我在构建目标运行器日志中注意到这一行:export arch\=undefined_arch 当然,我关注了几个关于排除架构的主题,但没有成功。

我曾经看到一个主题,告诉在工作区设置中将构建系统更改为旧版。这样做之后,我还有一个无法解决的错误: Command /bin/sh failed with exit code 1,但导出架构现在设置为 armv7。

我完全不知道为什么我什至不能在我的 M1 Mac 上构建一个新的 Flutter 项目。这种未定义的架构有问题吗?

这里是关于我的配置的更多信息:

Flutter doctor New Build System logs Legacy Build System logs

【问题讨论】:

尝试flutter clean,然后flutter pub get和pod install成功。 【参考方案1】:

我遇到了同样的错误,你需要在你的设备上重新安装 Flutter。只需删除 sdk 文件夹,或者如果您想正确清理,您需要在 Flutter 安装目录中执行此操作:

git clean -xfd
git stash save --keep-index
git stash drop
git pull
flutter doctor

【讨论】:

非常感谢!我按照你说的清理了 Flutter 文件夹,现在我可以构建我的应用了。

以上是关于Xcode - 命令 PhaseScriptExecution 因非零退出代码而失败 - Mac M1的主要内容,如果未能解决你的问题,请参考以下文章

“在 Xcode 项目中执行命令”是啥意思?

XCode7 提示:当前未安装 Xcode 命令行工具,需要运行 Alcatraz

Xcode 命令行工具 (XCode 4.6) 从终端运行单元测试

XCode:用于 xcode 命令行构建的 Documents and Library 文件夹

Xcode 10 错误:产生多个命令

使用下载的 pkg 文件时,xcode 命令行工具安装在哪里?