在XCode构建上对react-native-config执行PhaseScriptExecution失败

iovurdzv  于 2022-11-18  发布在  React
关注(0)|答案(4)|浏览(176)

我尝试在Xcode上构建我的React Native项目,但失败了。构建目标是react-native-config,错误如下:运行自定义shell脚本“[CP-User] Config codegen”“命令阶段ScriptExecution失败,退出代码为非零"。
尝试使用--verbose运行它,我得到以下结果:
以下生成命令失败:阶段脚本执行[CP-User]\配置\代码生成/用户/用户名/库/开发人员/Xcode/派生数据/项目名称/构建/中间件. noindex/Pods.build/调试-iPhone模拟器/React-原生-配置-构建/脚本-21BEEA33BD6A21BF27B73D38DC1AD4.sh
我正在运行带有React-Native-Config 1.4.1的React Native 0.63.1,我尝试过重新安装node_modules、pod、删除DerivedData并清理构建,但没有成功。我也没有在构建阶段〉运行脚本下看到任何react-native-config的引用。
有什么办法解决这个问题吗?

fdbelqdn

fdbelqdn1#

通常,这是由格式错误的.env文件引起的。请仔细检查您的.env

ctzwtxfj

ctzwtxfj2#

通常这个问题发生在依赖关系没有更新的时候。
您可以尝试以下步骤:

1-) cd ios
2-) rm -rf Podfile.lock
3-) rm -rf Pods
4-) delete .xcworkspace
5-) pod install
jxct1oxe

jxct1oxe3#

我有同样的问题,我按照教程建立ios,它是相当旧的(一年)在教程中我添加了代码,其中包括一些东西一样

post_install do |installer|
installer.pods_project.targets.each do |target|
  if target.name == 'React'
  target.remove_from_project
  end
  if target.name == 'react-native-config'
    phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
    phase.shell_script = 'cd ../../'\
    '&& RNC_ROOT=./node_modules/react-native-config/'\
    '&& export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig'\
    '&& export BUILD_DIR=$RNC_ROOT/ios/ReactNativeConfig'\
    '&& ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby'
    target.build_phases << phase
    target.build_phases.move(phase,0)
  end
 end
end

请从podfile中删除它,并按照react-native-config的文档在删除后使用此处的环境变量,不要忘记pod安装
构建时注意构建方案(构建时使用哪一个)

vsikbqxv

vsikbqxv4#

如果任何人在使用rbenv时遇到这个问题,请确保ruby安装在本地项目文件夹中。

相关问题