一. 安装Homebrew:

Homebrew的官网(多语言版本)简单明了地介绍了如何安装和使用这个工具,;并提供了自己的Wiki。

brew的安装很简单,使用一条ruby命令即可,Mac系统上已经默认安装了ruby":

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

等待一段时间后会出现

    Press RETURN to continue or any other key to abort

敲回车后提示输入你的电脑密码:(输入密码的过程中终端不会有任何变化)

 

输入密码后提示

    Downloading and installing Homebrew...

继续耐心等待..

二. 安装Node.js:

使用 Homebrew 来安装nvm,watchman 和 flow.(建议每次用Homebrew的时候先更新brew,命令:brew update )

 

1,安装nvm:

终端中输入:

brew install nvm

    最后终端会提示

 

    大概意思就是如果没有.nvm文件的话就要创建一个,终端中输入

    mkdir ~/.nvm

就可以创建.nvm文件了

,然后去~/.bash_profile或者在shell的配置文件中配置如下内容:

    export NVM_DIR=~/.nvm

    source $(brew --prefix nvm)/nvm.sh

 

    具体操作如下

 

 

先进入home目录: cd ~

    打开.bash_profileopen文件:

open .bash_profile

如果文件不存在 就创建一个

    touch .bash_profile

打开后把需要配置的内容复制进去然后保存退出

 

现在NVM算是安装完成了.

2.使用NVM安装node.js

终端输入命令:

    nvm install node && nvm alias default node

注:如果顺利安装完成可跳过下面步骤,直接进入第三步,进入安装watchman和flow环节.

nvm 默认是从http://nodejs.org/dist/下载的, 国外服务器, 必然很慢,

好在 NVM 以及支持从镜像服务器下载包, 于是我们可以方便地从七牛的 node dist 镜像下载:

  $ NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist nvm install 0.11.11

于是你就会看到一段非常快速进度条:

########################################################################         100.0%Nowusingnode v0.11.11

如果你不想每次都输入环境变量NVM_NODEJS_ORG_MIRROR, 那么我建议你加入到.bashrc文件中:

# nvmexportNVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/distsource~/git/nvm/nvm.sh

接着终端输入命令:

nvm install node && nvm alias default node

如果使用NVM一直安装失败.可以尝试直接使用Homebrew安装node: brew install node

三. 安装watchman和flow:

终端输入

brew install watchman

brew install flow

一切顺利

建议定期运行brew update && brew upgrade来使您的应用程序保持最新状态。

brew update && brew upgrade

四. 初始化项目及解决运行异常

初始化项目

首先安装Xcode6.3或更高版本.

完成后,终端执行

npm install -g react-native-cli

react-native-cli 是完成剩余安装的命令行工具。它是通过 npm 安装的。这将会在你的终端里面安装react-native这个命令行,你只需要做一次即可。

接着

react-native init AwesomeProject

这一条命令获取 React Native 的源代码和依赖包,然后在AwesomeProject/iOS/AwesomeProject.xcodeproj创建一个新的 Xcode 项目,并且在AwesomeProject/android/app下面创建一个 gradle 项目。这个命令初始化的项目在你的用户目录下.

如果想初始化到桌面上需要 cd 到桌面 然后在执行 react-native init AwesomeProject 这个命令。

打开项目的方式

To run your app on iOS:
cd /Users/BlueCity/Desktop/hello
react-native run-ios
- or -
Open ios/hello.xcodeproj in Xcode
Hit the Run button
To run your app on Android:
cd /Users/BlueCity/Desktop/hello
Have an Android emulator running (quickest way to get started), or a device connected
react-native run-android

解决运行异常

进入项目根目录后,使用 run-ios 指令启动该iOS APP:

  1. react-native run-ios

对于版本高于0.45的创建项目,也许你会看到如下错误:

  1. Error:
  2. Build failed:
  3. Unpacking /Users/zjy/.rncache/boost_1_63_0.tar.gz...
  4. Print: Entry, ":CFBundleIdentifier", Does Not Exist

对应的直接点开.xcodeproj 运行相关的错误信息

1、降级版本方案

本人经过多方查找,发现是创建项目下载安装node依赖模块时的资源缺失问题,目前最新的0.45及以上版本需要下载boost库,该库过大,导致下载出问题,参考:

https://github.com/facebook/react-native/issues/14368

https://github.com/facebook/react-native/issues/14447

解决方案有两种,如果不追求新版本新特性,可以降低创建项目的版本,使用 --version 指令明确设置项目版本:

  1. react-native init MyApp --version 0.44.3

2、替换资源文件方案

依然希望使用新版本的解决方案则是手动下载相关文件替换:

下载如下四个相关文件放到项目根目录下的 .rncache 目录下,进行替换:

下载地址:https://pan.baidu.com/s/1kV5iVzD.

下载后替换:

  1. cd ~/.rncache
  2. cp ~/Downloads/boost_1_63_0.tar.gz ~/.rncache/

依次使用 cp 指令复制替换四个文件;

然后删除第三方库文件,在 node_modules/react-native/third-party/ 目录下:

  1. rm -r project/node_modules/react-native/third-part

再次执行启动程序:

  1. react-native run-ios

发现可以正常运行了,接下来我们可以在编辑器里编辑我们的项目了,如我们的react-native入口js文件– index.ios.js 文件,刷新即可看到变更。

配置React Native环境及解决运行异常的更多相关文章

  1. 配置React Native环境

    一. 安装Homebrew: “Homebrew installs the stuff you need that Apple didn’t.——Homebrew  OS X 更完整”. Homebr ...

  2. Mac 配置 React Native 环境

    OSX系统,这里假定你是iOS开发人员 Homebrew 是需要的,只有安装了Homebrew才能继续安装watchman和flow 安装 Node.js 4.0 或者更新的版本. 使用 Homebr ...

  3. 初学 React native | 环境搭建(在模拟器上运行)

    我的电脑是windows 所以就以 windows上+Android 配置React native 环境 网上的安装教程非常多,我总结了一下,配置环境时出错原因主要是node java python ...

  4. 史上最全Windows版本搭建安装React Native环境配置

    史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...

  5. 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用

    史上最详细Windows版本搭建安装React Native环境配置   2016/01/29 |  React Native技术文章 |  Sky丶清|  95条评论 |  33530 views ...

  6. React Native环境配置

    React Native环境配置 史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有 ...

  7. react-native —— 在Mac上配置React Native Android开发环境排坑总结

    配置React Native Android开发环境总结 1.卸载Android Studio,在终端(terminal)执行以下命令: rm -Rf /Applications/Android\ S ...

  8. Mac配置React Native开发环境

    一直觉得学习一样东西,不动手怎么也学不会,就像学习swift,看了视频没有动手操作,记住的也就那么点,自己写出东西不是这里有问题就是那里出错. 所以,以后学习自己要多动手. 现在我的学习任务就是: 提 ...

  9. 谈谈React Native环境安装中我遇到的坑

    谈谈React Native环境安装 这个坑把我困了好久,真的是接近崩溃的边缘...整理出来分享给大家,希望遇到跟我一样问题的小伙伴能尽快找到答案. 首先,这是在初始化App之后,react-nati ...

随机推荐

  1. latin-1 codec cant encode characters in position 42-48: ordinal not in range256 下载文件时候报错

    python后端写下载文件, 这个时候出现了这个错误 latin-1 codec cant encode characters in position 42-48: ordinal not in ra ...

  2. e812. 强制弹出菜单为重组件

    By default, Swing popup menus used by JMenu and JPopupMenu are lightweight. If heavyweight component ...

  3. e785. 监听JList中项的变动

    When the set of items in a list component is changed, a list data event is fired. // Create a list t ...

  4. Git 基础 - 远程仓库的使用

    远程仓库的使用 要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某个项目时,需要管 ...

  5. 64位系统web项目导出excel问题分析及解决方法汇总

    最近在web项目中做了一个导出Excel功能.在导出的时候报错:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败. 一 ...

  6. 如何能延长windows server 2008 R2激活期 .

    当windows server 2008 R2使用已经到期的时候,要求激活,我们可以通过以下命令,延长激活期. 在运行中输入:slmgr.vbs -rearm 重新启动windows server 2 ...

  7. SSM是什么框架?

    SSM框架,是Spring + Spring MVC + MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统. 1.Spring简介 ...

  8. ubuntu 12.04 上网体验

    买了新的电脑,装的系统ubuntu12.04.  但是开始的时候无法使用有线网络,也没有办法连上无线网络.这相当于一个与世界剥离的裸机器,很是郁闷.于是在网上买了一个无线网卡tplink721, 但是 ...

  9. Base64编码——学习笔记

    Base64是一种编码方式. 非加密 chcp->936 编码流程: 位数不够后面补0,例中补了2个0. 末尾加=表示结束符. GB2312,有些敏感词不能显示. GBK,是GB2312升级版. ...

  10. QT基础:QMainWindow学习小结

    简述 普通的桌面应用程序有个共同的特性,有菜单栏.工具栏.状态栏.中央窗口等部件.菜单栏其实可以看成是一个窗口,菜单栏中的每一个菜单也可以看成一个窗口,每个部件基本都可以认为是一个窗口.那么这些典型的 ...