使用EAS/Expo构建时遭遇PhaseScriptExecution Bundle错误
解决Expo React Native项目Xcode归档失败问题
报错信息
** ARCHIVE FAILED ** ▸ The following build commands failed: ▸ PhaseScriptExecution Bundle\ React\ Native\ code\ and\ images /Users/expo/Library/Developer/Xcode/DerivedData/Brainiac-engdhxyrndsxydamdhbacjdwwrlk/Build/Intermediates.noindex/ArchiveIntermediates/Brainiac/IntermediateBuildFilesPath/Brainiac.build/Release-iphoneos/Brainiac.build/Script-00DD1BFF1BD5951E006B06BC.sh (in target 'Brainiac' from project 'Brainiac') ▸ (1 failure) ** ARCHIVE FAILED ** The following build commands failed: PhaseScriptExecution Bundle\ React\ Native\ code\ and\ images /Users/expo/Library/Developer/Xcode/DerivedData/Brainiac-engdhxyrndsxydamdhbacjdwwrlk/Build/Intermediates.noindex/ArchiveIntermediates/Brainiac/IntermediateBuildFilesPath/Brainiac.build/Release-iphoneos/Brainiac.build/Script-00DD1BFF1BD5951E006B06BC.sh (in target 'Brainiac' from project 'Brainiac') (1 failure)
适配Expo SDK 44 + Node 16.9.0的修复步骤
清理Xcode缓存:
- 关闭Xcode,删除路径
/Users/expo/Library/Developer/Xcode/DerivedData/Brainiac-engdhxyrndsxydamdhbacjdwwrlk下的所有文件 - 打开Xcode,执行
Product > Clean Build Folder(快捷键:Shift+Command+K)
- 关闭Xcode,删除路径
切换到稳定Node版本:
SDK 44推荐使用Node 16 LTS版本,执行以下命令切换:nvm install 16.13.0 nvm use 16.13.0重置项目依赖与原生文件:
- 删除旧依赖与锁文件:
rm -rf node_modules package-lock.json yarn.lock npm install- 重新生成iOS原生文件:
expo prebuild --clean修复脚本执行权限:
给报错的脚本添加可执行权限:chmod +x /Users/expo/Library/Developer/Xcode/DerivedData/Brainiac-engdhxyrndsxydamdhbacjdwwrlk/Build/Intermediates.noindex/ArchiveIntermediates/Brainiac/IntermediateBuildFilesPath/Brainiac.build/Release-iphoneos/Brainiac.build/Script-00DD1BFF1BD5951E006B06BC.sh匹配Expo CLI版本:
SDK 44适配的稳定CLI版本为5.x,降级CLI:npm uninstall -g expo-cli npm install -g expo-cli@5.4.12排查具体错误原因:
直接运行报错的脚本,查看详细错误日志:/Users/expo/Library/Developer/Xcode/DerivedData/Brainiac-engdhxyrndsxydamdhbacjdwwrlk/Build/Intermediates.noindex/ArchiveIntermediates/Brainiac/IntermediateBuildFilesPath/Brainiac.build/Release-iphoneos/Brainiac.build/Script-00DD1BFF1BD5951E006B06BC.sh脚本输出会明确指出失败点(比如资源路径错误、依赖缺失等),根据提示针对性修复
内容的提问来源于stack exchange,提问作者RenaissanceMan
相关产品推荐
相关产品推荐

