本文基於RN中文網。
要在mac系統上搭建RN環境:
一、安裝Homebrew。它是一款Mac OS平台下的軟件包管理工具。
詳見Homebrew的安裝這篇文章。
二、安裝node和watchman,用Homebrew在命令行進行安裝
brew install node
brew install watchman
如果已經安裝了Node,請檢查其版本是否在 v10 以上。命令行輸入
node -v
即可查詢安裝版本。安裝完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
watchman(看門人)是由 Facebook 提供的監視文件系統變更的工具。安裝此工具可以提高開發時的性能(packager 可以快速捕捉文件的變化從而實現實時刷新)。
三、安裝yarn和react-native-cli。
yarn是Facebook 提供的替代 npm 的工具,可以加速 node 模塊的下載。React Native 的命令行工具(react-native-cli)用於執行創建、初始化、更新項目、運行打包服務(packager)等任務。
npm install -g yarn react-native-cli
安裝完yarn后同理也要設置鏡像源:
yarn config set registry https://registry.npm.taobao.org --global yarn config set disturl https://npm.taobao.org/dist --global
安裝完yarn之后就可以用yarn代替npm了,例如用yarn代替npm install命令,用yarn add某第三方庫名代替npm install某第三方庫名。
四、安裝xcode,xcode為IDE。
五、創建新項目,先試下創建0.44.3(低版本的)的應用。
react-native init MyApp --version 0.44.3
然后進入應用,用xcode打開MyApp的ios文件夾

啟動模擬器(simulator),出現如下報錯。

此時,修改node_modules/react-native/React/Base/RCTModuleMethod.m(或是mm)文件,在RCTParseUnused方法中增加一行
static BOOL RCTParseUnused(const char **input) { return RCTReadString(input, "__unused") || RCTReadString(input, "__attribute__((__unused__))") || //lyh fixed RCTReadString(input, "__attribute__((unused))"); }
重新啟動模擬器即可。

六、創建高版本應用(0.59.1)
運行
react-native init AwesomeProject --version 0.59.1

出現以上報錯,則在項目根目錄運行命令
npm start
即可。
