上一篇博文描述了在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 的入门文档。
更推荐使用WebStorm或Sublime Text或Visual 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,选择命令行工具即可.