MyZone
必須的軟件
Homebew
Mac系統(tǒng)的包管理器,用于安裝NodeJS和一些其他必須的工具軟件
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
解決
/user/local
目錄不可寫的權(quán)限問題
sudo chown -R `whoami` /usr/local
Node
React Native目前需要NodeJS 5.0或更高版本
brew install node
安裝完node后建議設(shè)置
npm
鏡像以加速后面的過程(注意:不要使用cnpm!cnpm安裝的模塊路徑比較奇怪,packager不能正常識(shí)別股缸!)
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
Yarn,ReactNative的命令行工具(react-native-cli)
Yarn
是Facebook提供的替代npm的工具牌里,可以加速node模塊的下載勾哩。React Native的命令行工具用于執(zhí)行創(chuàng)建岔霸、初始化隆判、更新項(xiàng)目犬庇、運(yùn)行打包服務(wù)(packager)等任務(wù)。
npm install -g yarn react-native-cli
安裝完
yarn
后同理也要設(shè)置鏡像源
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
如果你看到
EACCES: permission denied這樣的權(quán)限報(bào)錯(cuò)
,修復(fù)/user/local
目錄的所有權(quán)
sudo chown -R `whoami` /usr/local
Xcode
React Native目前需要Xcode 8.0 或更高版本.
雖然一般來說命令行工具都是默認(rèn)安裝了侨嘀,但你最好還是啟動(dòng)Xcode臭挽,并在Xcode | Preferences | Locations菜單中檢查一下是否裝有某個(gè)版本的Command Line Tools。Xcode的命令行工具中也包含一些必須的工具咬腕,比如git等欢峰。
推薦安裝的工具
Watchman
Watchman是由Facebook提供的監(jiān)視文件系統(tǒng)變更的工具。安裝此工具可以提高開發(fā)時(shí)的性能(packager可以快速捕捉文件的變化從而實(shí)現(xiàn)實(shí)時(shí)刷新)
brew install watchman
Flow
Flow是一個(gè)靜態(tài)的JS類型檢查工具郎汪。譯注:你在很多示例中看到的奇奇怪怪的冒號(hào)問號(hào)赤赊,以及方法參數(shù)中像類型一樣的寫法,都是屬于這個(gè)flow工具的語法煞赢。這一語法并不屬于ES標(biāo)準(zhǔn),只是Facebook自家的代碼規(guī)范哄孤。所以新手可以直接跳過(即不需要安裝這一工具照筑,也不建議去費(fèi)力學(xué)習(xí)flow相關(guān)語法)
brew install flow
Nuclide
Nuclide是由Facebook提供的基于atom的集成開發(fā)環(huán)境,可用于編寫瘦陈、運(yùn)行和 調(diào)試React Native應(yīng)用凝危。推薦使用WebStorm
測(cè)試安裝
init命令默認(rèn)會(huì)創(chuàng)建最新的版本,而目前最新的0.45及以上版本需要下載boost庫編譯晨逝。此庫體積龐大蛾默,在國(guó)內(nèi)即便翻墻也很難下載成功,導(dǎo)致很多人無法正常運(yùn)行iOS項(xiàng)目捉貌,可以暫時(shí)創(chuàng)建0.44.3的版本.
你可以使用--version參數(shù)(注意是兩個(gè)杠)創(chuàng)建指定版本的項(xiàng)目支鸡。例如react-native init MyApp --version 0.44.3。注意版本號(hào)必須精確到兩個(gè)小數(shù)點(diǎn)
react-native init AwesomeProject
cd AwesomeProject
react-native run-ios
提示:如果run-ios無法正常運(yùn)行趁窃,請(qǐng)使用Xcode運(yùn)行來查看具體錯(cuò)誤(run-ios的報(bào)錯(cuò)沒有任何具體信息)牧挣。