React Native 劝退实录之:IOS环境搭建

18 阅读1分钟

各位打算入坑 React Native的小伙伴,看过来, React Native iOS 会踩到 Ruby gem + CocoaPods + 破玩意


1. Ruby?啥玩意?

咱先说说 Ruby。 作为前端装包工程师,平时用的多的就是 npm/yarn ,结果 React Native iOS 直接给塞一个 Ruby 语言的包管理体系:gem

Ruby 的 gem 和 npm 差不多,负责给你下包。只是 npm 你习惯得很,但 gem 你大概率从没碰过。 更离谱的是,苹果的 iOS 原生生态就是靠 Ruby gem 管理 CocoaPods。 所以,React Native 也就被拖下水:

npm 负责 JS 依赖,gem 负责 Ruby 依赖。

好,咱 JavaScript 选手先硬吞一口 Ruby。


2. CocoaPods?啥鬼?

然后出现了 CocoaPods。 这个东西就是 iOS 世界的包管理器,相当于 npm 之于 JS 项目,专门用来下载各种 .framework / .xcframework 依赖。

而 CocoaPods 自己又是用 Ruby 写的,所以它其实就是一个 Ruby gem 包。

gem install CocoaPods 装一个ios的包管理工具

所以你才必须先装 Ruby,然后装 CocoaPods,在 bundle install pod install 否则你连个 React-Core 都编译不出来。


3. 总结

来,总结一下 RN iOS 的神秘组合技:

  • npm/yarn:管 JS 依赖
  • Ruby gem:装 CocoaPods
  • CocoaPods:管理 iOS 依赖
  • Xcode:最终编译
  • Podfile:把 Pod 依赖写死
  • Gemfile:把 CocoaPods 的版本再写死

配置不对,调试起来就像被天打雷劈。