React Native環(huán)境搭建

本文主要介紹Mac開發(fā)平臺(tái)的React Native環(huán)境搭建(我只是官方教程的搬運(yùn)工)。

軟件安裝

必選工具

Homebrew

這個(gè)我在安裝cocoapods時(shí)已經(jīng)安裝過(guò),所以具體會(huì)遇到什么問(wèn)題也不清楚,暫時(shí)略過(guò)。

Node

安裝語(yǔ)句,命令行輸入:

brew install node

如果Homebrew的版本過(guò)低,會(huì)自動(dòng)進(jìn)行升級(jí),然后安裝node。
安裝node后設(shè)置npm鏡像以加速后面的過(guò)程(官方教程這樣寫)。

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

React Native的命令行工具(react-native-cli)

React Native的命令行工具用于執(zhí)行創(chuàng)建、初始化、更新項(xiàng)目、運(yùn)行打包服務(wù)(packager)等任務(wù)。

npm install -g react-native-cli

Xcode

這個(gè)是標(biāo)配= =就不做贅述了。

可選工具

Watchman

Watchman是由Facebook提供的監(jiān)視文件系統(tǒng)變更的工具。安裝此工具可以提高開發(fā)時(shí)的性能(packager可以快速捕捉文件的變化從而實(shí)現(xiàn)實(shí)時(shí)刷新)。

brew install watchman

測(cè)試安裝

創(chuàng)建項(xiàng)目

react-native init AwesomeProject

創(chuàng)建好項(xiàng)目后,命令行會(huì)給出工程路徑,打開xcodeproj文件,即可打開項(xiàng)目。

修改項(xiàng)目

在我喜歡的編輯器(我沒有喜歡的編輯器)打開index.ios.js并隨便改上幾行。
在iOS Emulator中按下?-R就可以刷新APP并看到你的最新修改!

總結(jié)

這個(gè)沒有Cocoapods安裝那么坑,基本按照官方教程就可以,本來(lái)記錄是為了記錄安裝過(guò)程的坑,結(jié)果很順利,但還是發(fā)了吧。學(xué)習(xí)新技能?。?!

回家之后,發(fā)現(xiàn)的問(wèn)題

在公司編譯沒問(wèn)題,回家重新配置一下,發(fā)現(xiàn)編譯iOS工程時(shí)報(bào)錯(cuò),shell script invocation error,修改方式是在工程設(shè)置中,Build Phases->Bundle React Native code and images->勾選Run script only when installing
然后編譯,又出了第二個(gè)錯(cuò):

Unpacking /Users/air/.rncache/boost_1_63_0.tar.gz...
tar: (Empty error message)
tar: Error exit delayed from previous errors.
Command /bin/sh failed with exit code 1

我把Derived Data刪掉,Clean編譯之后,又出了第三個(gè)錯(cuò)
'boost/iterator/iterator_adaptor.hpp' file not found
產(chǎn)生原因:

  1. /Users/Vanessa/.rncache 中 boost_1_63_0.tar.gz, double-conversion-1.1.5.tar.gz, folly-2016.09.26.00.tar.gz, glog-0.3.4.tar.gz 文件下載不完整
  2. node_modules/react-native/third-party 文件不完整

解決方案:

  1. 刪除 .rncache 后重新下載,或手動(dòng)下載后放入 .rncache 中
  2. 把以上文件解壓后放入 node_modules/react-native/third-party 下
    Clean & Build
    問(wèn)題還是沒解決。。。暫時(shí)放棄。。。

運(yùn)行項(xiàng)目報(bào)錯(cuò)

升級(jí)到Xcode8后,運(yùn)行ReactNative 的項(xiàng)目會(huì)報(bào)錯(cuò) ignoring return value of function declared with warn_unused_result attribute
解決方法:RCTWebSocket => TAGETS =>Build Settings => Custom Compiler Flags 去掉 -Werror -Wall兩個(gè)flags 再運(yùn)行項(xiàng)目就可以了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容