上一篇博文描述了在windows系统中如何搭建React-Native环境,但是如果你要开发iOS应用的话,在windows系统是行不通的,所以这篇博文继续讲述在macOS中如何搭建React-Native环境.

1. 安装Homebrew

Homebrew, Mac 系统的包管理器,用于安装 NodeJS 和一些其他必需的工具软件。

在终端输入命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

然后就看到如下:

静等片刻,看到如下语句,说明安装成功:

注意:

如果Max OS X 10.11(El Capitan)版本中,homebrew 在安装软件时可能会碰到/usr/local目录不可写的权限问题。可以使用下面的命令修复:

sudo chown -R `whoami` /usr/local

2. 安装Node

使用 Homebrew 来安装Node.js.

React Native 目前需要 NodeJS 8.0 或更高版本。 Homebrew 默认安装的是最新版本,一般都满足要求。

brew install node

安装完node之后建议设置 npm 镜像以加速后面的过程(或使用科学上网工具)。注意:不要使用 cnpm!cnpm 安装的模块路径比较奇怪,packager 不能正常识别!

npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global

3. Yarn、React Native 的命令行工具(react-native-cli)

Yarn是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。React Native 的命令行工具用于执行创建、初始化、更新项目、运行打包服务(packager)等任务。

npm install -g yarn react-native-cli

这里安装的时候有可能会遇到报错,我个人是遇到了错误,可能是之前我设置了一些不太懂得参数造成,报错如下:

这个解决方法也有,参考了一些空白的某一博文,十分感谢.

解决方案是:

npm config set registry http://registry.cnpmjs.org/

也是设置npm的仓库路径.然后就可以安装了

安装完 yarn 后同理也要设置镜像源:

yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global

如果你看到EACCES: permission denied这样的权限报错,解决方法:

sudo chown -R `whoami` /usr/local

安装完 yarn 之后就可以用 yarn 代替 npm 了,例如用yarn代替npm install命令,用yarn add 某第三方库名代替npm install --save 某第三方库名

4.Xcode

React Native 目前需要Xcode 9.0 或更高版本。你可以通过 App Store 或是到Apple 开发者官网上下载。这一步骤会同时安装 Xcode IDE 和 Xcode 的命令行工具。

虽然一般来说命令行工具都是默认安装了,但你最好还是启动 Xcode,并在Xcode | Preferences | Locations菜单中检查一下是否装有某个版本的Command Line Tools。Xcode 的命令行工具中也包含一些必须的工具,比如git等。

5.其他工具

  • Watchman

Watchman是由 Facebook 提供的监视文件系统变更的工具。安装此工具可以提高开发时的性能(packager 可以快速捕捉文件的变化从而实现实时刷新)。译注:此工具官方虽然是推荐安装,但在实践中,我们认为此工具是必须安装,否则可能无法正常开发。

brew install watchman
  • Flow

Flow是一个静态的 JS 类型检查工具。你在很多示例中看到的奇奇怪怪的冒号问号,以及方法参数中像类型一样的写法,都是属于这个 flow 工具的语法。这一语法并不属于 ES 标准,只是 Facebook 自家的代码规范。所以新手可以直接跳过(即不需要安装这一工具,也不建议去费力学习 flow 相关语法)。

brew install flow
  • Nuclide

Nuclide(此链接需要科学上网)是由 Facebook 提供的基于 atom 的集成开发环境,可用于编写、运行调试React Native 应用。

点击这里阅读Nuclide 的入门文档

更推荐使用WebStormSublime TextVisual Studio Code来编写 React Native 应用。所有这些开发工具都是跨平台的。其中 webstorm 是收费的,体量较大,功能较多,基本无需配置。其他工具免费,相对轻量,但或多或少需要下载插件和配置。

6.测试安装

!!!注意!!!:init 命令默认会创建最新的版本,而目前最新的 0.45 及以上版本需要下载 boost 等几个第三方库编译。这些库在国内即便翻墙也很难下载成功,导致很多人无法运行iOS项目!!!中文网在论坛中提供了这些库的国内下载链接。如果你嫌麻烦,又没有对新版本的需求,那么可以暂时创建0.44.3的版本。

提示:你可以使用--version参数(注意是个杠)创建指定版本的项目。例如react-native init MyApp --version 0.44.3。注意版本号必须精确到两个小数点。

react-native init HelloReactNative
cd HelloReactNative
react-native run-ios

项目初始化:

安装成功:

cd到目录,react-native run-ios

6.1 报错一

解决方法:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer/

前提必须安装过Xcode

然后再次运行 react-native run-ios

6.2 报错2

这个错误意思是xcode没有配置命令行工具,所以打开Xcode,左上角选择Preferences,然后选择Locations,找到Command Line Tools,选择命令行工具即可.

7. 感谢

React-Native中文网