MacOS设置 ReactNative iOS开发环境的常见问题解决方案


同一个坑不能摔两次

安装cocoapods时出错:Failed to build gem native extension.

Mac系统通常自带ruby,但是版本一般比较旧

ruby -v
# ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin22]
which ruby
# /usr/bin/ruby

解决方法

使用brew安装最新的ruby

brew install ruby

安装成功后,还需要如下改动:在${bash_profile}文件中追加如下内容。

# Ruby Start

export PATH="/usr/local/opt/ruby/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/ruby/lib"
export CPPFLAGS="-I/usr/local/opt/ruby/include"

# Ruby End

bash_profile取决于你所使用的bash工具,如果是oh-my-zsh,那么路径应该是~/.zshrc

当然,也可以借助ruby版本管理工具,替换系统自带的ruby。

pod install时,Hermes引擎下载速度太慢的问题

手动下载安装

$ export HERMES_ENGINE_TARBALL_PATH=/${YOUR_PATH_TO_TAR_GZ}/react-native-artifacts-0.71.11-hermes-ios-debug.tar.gz
$ pod install
...

参考信息

Error installing cocoapods: Failed to build gem native extension

Invariant Violation: requireNativeComponent: “RNSScreenStackHeaderConfig” was not found in the UIManager

几个可能出错的地方:

  1. React Native 版本太老
  2. 项目依赖没有安装
  3. 安装问题(npm & pod)

可用的解决方法:

edit package.json to "react-native-screens": "^3.26.0"
delete node_modules & package-lock.json
delete Pods & Podfile.lock
npm cache clean --force  
npm install
pod install
react-native run-ios --reset-cache