存档时“命令 PhaseScriptExecution 失败,退出代码非零”

Sur*_*fel 9 react-native expo xcode11

所以我有世博会建立了一个应用程序,但随后退出来获得iOS和Android文件夹的一切工作都在Android和iOS我已经发布其Android系统,但在iOS精细当我尝试存档给我一个错误的项目Command PhaseScriptExecution failed with nonzero exit code,我不知道是什么导致了这个错误我已经阅读了很多 StackOverflow 问题,尝试了很多东西,但没有运气,这是我迄今为止尝试过的。

我试过:

  • 删除 pod 锁定文件,删除 pod 文件夹,正在执行pod deintegrate,正在执行pod update
    • 在keychainAccess中锁定和解锁登录
    • 清理 xcode 中的构建文件夹
    • 重新启动我的笔记本电脑和 xcode
    • 从新构建系统更改为旧构建系统
    • 删除 DerivedData 文件夹并清理 Xcode
  • 升级 cocopods 并再次执行 pod install

好吧,之前,构建Command+B也不起作用,但现在我去了目标-> 应用程序名称-> 构建阶段-> 捆绑博览会资产-> 并检查了“仅在安装时运行脚本”选项,构建开始工作但仍在存档不起作用

除了上述错误,我还注意到 xcode 上的另一个错误

在此处输入图片说明

所以请如果有人有任何想法为什么会发生这种情况,请?

错误截图

kum*_*rth 10

如果您使用 nvm,取消设置默认别名可以解决此问题。

$ nvm unalias default
Run Code Online (Sandbox Code Playgroud)

或者如果它要求设置 nvm 默认值:

$ nvm alias default node
Run Code Online (Sandbox Code Playgroud)

再次构建应用程序。

  • 这对我有用(除了设置链接之外)谢谢。 (2认同)

Ash*_*n M 7

一个可能的原因可能是 Xcode 使用的是过时的 Node 版本(就我而言,这是因为我使用 nvm 来管理我的 Node 版本,但 Xcode 使用的是我很久以前通过 HomeBrew 安装的旧版本的 Node) .

默认情况下,Xcode 将使用位于/usr/local/bin/node. 通过运行检查其版本:

/usr/local/bin/node -v
node -v
Run Code Online (Sandbox Code Playgroud)

如果第一个命令输出旧版本的 Node,只需将其删除并替换为新版本的符号链接:

rm -rf /usr/local/bin/node
ln -s $(which node) /usr/local/bin/node
Run Code Online (Sandbox Code Playgroud)

  • 我从未单独安装过节点(或者也许我在某个时候删除了该节点)。所以 `/usr/local/bin/node` 里什么也没有。但这个命令为我解决了“ln -s $(which node) /usr/local/bin/node”的问题。谢谢 (5认同)
  • 这为我解决了! (4认同)

Sea*_*nMC 7

我的实际错误来自 PhaseScriptExecution 部分的上方,这是由于Error: cannot find the node binary. Try setting the NODE_BINARY variable in the...

当 Xcode 查找 Node 时,/usr/local/bin/node它​​实际上并不在那里,因为 nvm 使用更具体的动态路径。

解决方案很简单。根据您的节点路径设置系统链接。然后再次尝试构建。在终端中运行:

ln -s $(which node) /usr/local/bin/node
Run Code Online (Sandbox Code Playgroud)

这个答案来自这个SO答案:React Native ios build : Can't find node 但在其他答案和评论中也提到了。这也类似于@ashwin-m的答案,但我发现我不明白那个。


Muh*_*man 5

解决方案1:

这是由于Bare Expo Bundle Assets

这是在论坛上提出的实际问题:https : //forums.expo.io/t/ios-bundle-assets-error-when-building-release-403/36616

(修复)请求已合并到主

——

解决方案:

将您的 expo-cli 更新为 expo-cli@3.19.2 或更高版本

npm install -g expo-cli
Run Code Online (Sandbox Code Playgroud)

——

注意:解决方案1是这个问题的答案

解决方案2:

在终端上打开项目目录并运行此命令并再次存档

react-native bundle --platform ios --dev false --entry-file index.js --bundle-output ./ios/main.jsbundle
Run Code Online (Sandbox Code Playgroud)

解决方案3:

Keychain Access-> Right-click on login-> Lock & unlock again -> Clean Xcode project->Make build again


归档时间:

查看次数:

11724 次

最近记录:

4 年,4 月 前