一. 安装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. Pandas 读取文本格式数据

    title 其实书中说的我认为不够全,因为公司里面现在主要用stata和spss,暂时还没有用到sas,excel也很少用 那么读取文件的方式,因为有人已经总结了,我就偷过来算了 对应不同的文件类型有 ...

  2. (笔记)Linux下的简单CGI编程

    为什么要进行CGI编程?  在HTML中,当客户填写了表单,并按下了发送(submit)按钮后,表单的内容被发送到了服务器端,一般的,这时就需要有一个服务器端脚本来对表单的内容进行一些处理,或者是把它 ...

  3. (笔记)ubuntu中取消文件夹或文件等右下解一把锁的标志的方法

    ubuntu中取消文件夹或文件等右下解一把锁的标志的方法   方法:   sudo chmod -R 777 路径(文件夹或文件)   对文件递归做改变权限为可读可写可运行,即可.

  4. 第三百三十一节,web爬虫讲解2—Scrapy框架爬虫—Scrapy安装—Scrapy指令

    第三百三十一节,web爬虫讲解2—Scrapy框架爬虫—Scrapy安装—Scrapy指令 Scrapy框架安装 1.首先,终端执行命令升级pip: python -m pip install --u ...

  5. iPhone开发中,关于视图跳转的总结(转)

    iPhone开发中,关于视图跳转的总结 iPhone开发中从一个视图跳到另一个视图有三种方法: 1. self.view addSubView:view .self.window addSubView ...

  6. CentOS 6.x安装配置MongoDB 3.4.x

    说明: 操作系统:CentOS 5.X 64位 IP地址:192.168.21.128 实现目的: 安装配置MongoDB数据库 具体操作: 一.关闭SElinux.配置防火墙 1.vi /etc/s ...

  7. EasyUI的combobox组件Chrome浏览器不兼容问题解决办法

    EasyUI版本:jQuery EasyUI 1.4.1 Chrome浏览器版本:41.0.2272.101 m 问题描述 在Chrome浏览器下,下拉框选择选项之后,选择的值在下拉框中不显示,重新选 ...

  8. Xianfeng轻量级Java中间件平台:菜单管理

    通过菜单管理,可以实现系统菜单的权限控制.用户个性化菜单功能等,当然很多系统支持在线开发,不用专门的开发工具编写代码,通过一些简单的设置就能开发出新的功能,有新功能增加到系统中,菜单管理功能也是必不可 ...

  9. c#包含类文件到csprj中

    public ActionResult Index() { XDocument doc = XDocument.Load(@"G:\users\kim.gao\documents\visua ...

  10. 常用的js 总结

    1.点击一个按钮,跳转到新页面 $("#btnCancel").click(function(){ location.href="${ctx}/engine/formul ...