react-native run-ios 构建失败:CompileC RCTBaseTextInputView.o
Posted
技术标签:
【中文标题】react-native run-ios 构建失败:CompileC RCTBaseTextInputView.o【英文标题】:react-native run-ios Build Fail: CompileC RCTBaseTextInputView.o 【发布时间】:2020-08-12 11:37:37 【问题描述】:如何在 ios 中修复此构建失败? 我正在使用 Xcode 9.2 版 Mac OS 塞拉利昂
什么是RCTBaseTextInputView?
编译C /Users/bliss/Library/Developer/Xcode/DerivedData/RNJyotish-fjjxyvwbhqivjwbnwwqhmqzgfazq/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-RCTText.build/Objects-normal/x86_64/RCTBaseTextInputView.o /Users/bliss/Documents/Coder/ReactNative/RNCLI/BITBUCKET/rnjyotish/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.m 普通 x86_64 目标-c com.apple.compilers.llvm.clang.1_0.compiler
【问题讨论】:
如果你解决了,请分享。我遇到了同样的错误。 嗨,我无法直接解决它....我的电脑是 2011 年初的 MacBookPro,可以安装在该机器上的 Xcode 非常落后于其最新版本。我决定在 Cloud 机器上租一台 Mac,并在那里使用相同的代码创建和编译一个新项目.. 我能够在 2012 年底的 mac High Sierra 10.13.3 上运行它。这是一次痛苦的经历 您能分享一下您是如何完成这项工作的吗?我必须每月为 Cloud 支付 20 美元以上的费用……我宁愿尽可能多地使用本地机器…… 【参考方案1】:每个版本都非常重要。对于另一个版本,这可以通过其他方式完成。但对于 Mac High Sierra,请遵循以下操作:
我的系统:
High Sierra 10.13.3
XCode 9.4
Node 8.11.1
react-native-cli@2.0.1
watchman 4.9.0
react-native@57.8
android studio 3.6.3
Android Emulator: Pixel API 28 : Android Pie 9
Also Tested: Genymotion 3.1.0 : Samsung Galaxy S10 Android 10
Iphone Emulator 11.3
Xcode 构建位置唯一:xcode -> Preference->Locations -> Advanced
[如果您没有安装nvm,则完全卸载node,然后通过nvm安装它。这不是必需的,但强烈推荐]
nvm install 8.11.1
此版本不需要纱线。所以我删除了纱线,因为后来的版本给纱线带来了麻烦, 如果已经安装了纱线,你可以尝试使用纱线,但对于此版本不需要
brew uninstall yarn
brew install watchman
不要使用 npx,而是要使用特定版本
npm install -g react-native-cli@2.0.1
add react-native to .bash_profile:
export PATH="/Users/hasan/.nvm/versions/node/v8.11.1/bin/:$PATH"
*如果您使用过版本 8 的 oracle java,请使用以下命令将其卸载:
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-11.jdk
安装openJDK8:
brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk8
始终使用版本号。 React Native 不能神奇地修复任何东西
react-native init RealmProject --version 0.57.8
安装安卓SDK: http://reactnative.dev/docs/0.57/getting-started
将以下内容添加到 .bash_profile:
export ANDROID_HOME=/Users/hasan/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
以上成功完成后:
react-native run-android
react-native run-ios
如果您有任何错误,请确保删除所有缓存:
watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf node_modules/ && npm cache verify && npm install && npm start -- --reset-cache
到此为止不会有问题,但要使其受到更多保护:
将Project>android>gradle>wrapper>gradle-wraper.properties:
下的gradle-wrapper.properties 4.4改为4.9
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip
android>build.gradle plugin version change to 3.2.1
classpath 'com.android.tools.build:gradle:3.2.1'
干杯,编码快乐!
【讨论】:
以上是关于react-native run-ios 构建失败:CompileC RCTBaseTextInputView.o的主要内容,如果未能解决你的问题,请参考以下文章
react-native 0.57 run-ios 失败解决办法
react-native run-ios 需要很长时间才能构建,有时永远不会