转载本文章的童鞋请注明原链接。

查阅文档之类的资料,建议到 http://reactnative.cn/

本人使用环境Win10. 在阅读本文之前,请了解我们安装React Native之前,要安装Python2.7、git、android环境、Visual Studio 2015、nodejs。

1.安装Python

1)下载地址 https://www.python.org/downloads/release/python-2711/

建议安装2.7.11版本,3.x以上版本不支持。

我安装的路径是:C:\Python27

2)在用户变量中添加:PYTHON_HOME,值:C:\Python27  如下:

3)在系统变量Path中添加两个变量值:%PYTHON_HOME%、%PYTHON_HOME%\Scripts(其他系统的界面会不一样,添加的值都一样)

2.安装git

1)下载地址https://git-for-windows.github.io/

2)下载完直接安装就可以了。注意到选择组件这一步骤时,要选择上’Use a TrueType font in all console windows’.

下一步,选择Windows Command Prompt

下一步,选择Checkout Windows-style,commit Unix-style line endings

下一步,选择Use Windows’default console window

下一步,全选

完成安装

3.配置android环境

1)下载Android Studio http://www.android-studio.org/index.php/download

此软件是整个android编程所需要的

2)设置环境变量 ANDROID_HOME

在环境变量中配置ANDROID_HOME,指定sdk路径,本人配置如下:

3)配置环境变量path

在环境变量path中添加2个变量:%ANDROID_HOME%\tools、%ANDROID_HOME%\platform-tools

4.安装nodejs

1)到官网上面下载对应的安装文件 http://nodejs.cn/download/

默认安装在C:\Program Files\nodejs文件夹下。

2)建议设置npm镜像以加速后面的过程

安装成功后,我们在命令行分别输入:

  npm config set registry https://registry.npm.taobao.org –global
  npm config set disturl https://npm.taobao.org/dist –global
  

3)配置python版本

在命令行输入 npm config set python python2.7

4. 安装React Native

1) 安装React Native有2种方法,第一种直接上github下载解压,第二种用git命令行下载。

本人用的是git命令方法,第二种。

①在github上下载解压:

在github上下载 https://github.com/facebook/react-native。然后解压,我们解压在E:\ProgramFiles(自行选择路径)。

②用git命令行下载

用命令行进入到E:\ProgramFiles目录,此目录更加用户爱好选择。输入此目录后,会自动下载到当前目录下。

然后输入命令 git clone https://github.com/facebook/react-native.git

通过上述两种方法,最终看到我们下载下来的react native

2)安装react-native命令行工具

在命令行输入:

  npm install -g react-native-cli

3. 创建HelloWord项目

1)创建自己的项目路径,我们创建在 F:\ProjectWorkspace\ReactNative

2)CMD命令行到上面路径下,然后输入命令 react-native init HelloWorld 来创建项目。这里HelloWorld为项目名,读者可根据自己喜好来定义。

安装过程要等待一段时间,这个过程会下载一些包。

3)如果第2步等待完成之后,没有出现错误,可以省略这一步。

在等待了很长的时间后(大概半个小时),出现了错误,一大推错误,如下

F:\ProjectWorkspace\ReactNative>react-native init HelloWorld
This will walk you through creating a new React Native project in F:\ProjectWorkspace\ReactNative\HelloWorld
Installing react-native package from npm...
Setting up new React Native app in F:\ProjectWorkspace\ReactNative\HelloWorld > bufferutil@1.2. install F:\ProjectWorkspace\ReactNative\HelloWorld\node_modules\bufferutil
> node-gyp rebuild F:\ProjectWorkspace\ReactNative\HelloWorld\node_modules\bufferutil>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild )
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.\V140\Microsoft.CppBuild.targets(,): warning MSB8003: Could not fi
nd WindowsSDKDir variable from the registry. TargetFrameworkVersion or PlatformToolset may be set to an invalid versio
n number. [F:\ProjectWorkspace\ReactNative\HelloWorld\node_modules\bufferutil\build\bufferutil.vcxproj]
TRACKER : 错误 TRK0005: 未能找到: “CL.exe”。系统找不到指定的文件。 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.\V140\Microsoft.CppCommon.targets(,): error MSB6006: “CL.exe”已退出,代
码为 。 [F:\ProjectWorkspace\ReactNative\HelloWorld\node_modules\bufferutil\build\bufferutil.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code:
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js::)
gyp ERR! stack at emitTwo (events.js::)
gyp ERR! stack at ChildProcess.emit (events.js::)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js::)
gyp ERR! System Windows_NT 10.0.
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd F:\ProjectWorkspace\ReactNative\HelloWorld\node_modules\bufferutil
gyp ERR! node -v v6.2.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm WARN install:bufferutil@1.2. bufferutil@1.2. install: `node-gyp rebuild`
npm WARN install:bufferutil@1.2. Exit status > utf--validate@1.2. install F:\ProjectWorkspace\ReactNative\HelloWorld\node_modules\utf--validate
> node-gyp rebuild F:\ProjectWorkspace\ReactNative\HelloWorld\node_modules\utf--validate>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild )
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.\V140\Microsoft.CppBuild.targets(,): warning MSB8003: Could not fi
nd WindowsSDKDir variable from the registry. TargetFrameworkVersion or PlatformToolset may be set to an invalid versio
n number. [F:\ProjectWorkspace\ReactNative\HelloWorld\node_modules\utf--validate\build\validation.vcxproj]
TRACKER : 错误 TRK0005: 未能找到: “CL.exe”。系统找不到指定的文件。 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.\V140\Microsoft.CppCommon.targets(,): error MSB6006: “CL.exe”已退出,代
码为 。 [F:\ProjectWorkspace\ReactNative\HelloWorld\node_modules\utf--validate\build\validation.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code:
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js::)
gyp ERR! stack at emitTwo (events.js::)
gyp ERR! stack at ChildProcess.emit (events.js::)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js::)
gyp ERR! System Windows_NT 10.0.
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd F:\ProjectWorkspace\ReactNative\HelloWorld\node_modules\utf--validate
gyp ERR! node -v v6.2.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm WARN install:utf--validate@1.2. utf--validate@1.2. install: `node-gyp rebuild`
npm WARN install:utf--validate@1.2. Exit status
HelloWorld@0.0. F:\ProjectWorkspace\ReactNative\HelloWorld
`-- react@15.1. npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.
To run your app on iOS:
cd F:\ProjectWorkspace\ReactNative\HelloWorld
react-native run-ios
- or -
Open F:\ProjectWorkspace\ReactNative\HelloWorld\ios\HelloWorld.xcodeproj in Xcode
Hit the Run button
To run your app on Android:
Have an Android emulator running (quickest way to get started), or a device connected
cd F:\ProjectWorkspace\ReactNative\HelloWorld
react-native run-android

这堆错误主要是说没有安装C++的命令行环境。而本人经过了2天的时间才解决的这个问题,虽然这个问题看起来比较简单。

解决方法如下:

通过 https://github.com/nodejs/node-gyp#installation 可知,我们首先要安装VS2015、

注意的是在安装VS2015的过程中需要选上Common Tools for Visual C++的选项,因为默认是不选择的。这里说明默认不安装 https://blogs.msdn.microsoft.com/vcblog/2015/07/24/setup-changes-in-visual-studio-2015-affecting-c-developers/

如果你已经安装了VS2015,那么你首先打开VS,然后新建一个C++项目,选择安装,如下:

安装时,会提示选择安装C++,如下:

最后吧npm的vs版本设置成2015。打开命令行,输入 npm config set msvs_version 2015

这样,再次运行 react-native init HelloWorld 不会报错了。

运行之前,为了确保小概率出错,请删除原来的HelloWorld文件夹。

  注意一点的是,如果看到命令不断停留在 Installing react-native package from npm… ,请按回车键,会自动运行。此处可能为一个bug。

可以看到大小有105M

到此,我们成功安装React Native。我们下一篇文章将陆续介绍开始运行React Native。

React Native02-开始运行 Android篇

可以关注本人的公众号,多年经验的原创文章共享给大家。

React Native01-开始 Windows环境安装配置篇的更多相关文章

  1. Solr Windows环境安装配置

    在本章中,我们将讨论如何在Windows环境中设置Solr.要在Windows系统上安装Solr,需要按照以下步骤 - 访问Apache Solr的主页,然后点击下载按钮或直接访问:http://lu ...

  2. Windows环境安装tesseract-ocr 4.00并配置环境变量

    最近要做文字识别,不让直接用别人的接口,所以只能尝试去用开源的类库.tesseract-ocr是惠普公司开源的一个文字识别项目,通过它可以快速搭建图文识别系统,帮助我们开发出能识别图片的ocr系统.因 ...

  3. Linux配置mysql (centos配置java环境 mysql配置篇 总结四)

    ♣安装的几种方法和比较 ♣配置yum源 ♣安装mysql ♣启动mysql ♣修改密码 ♣导入.sql文件 ♣缓存设置 ♣允许远程登录(navicat) ♣配置编码为utf8  1.关于Linux系统 ...

  4. Linux配置tomcat (centos配置java环境 tomcat配置篇 总结三)

    ♣下载安装tomcat7 ♣设置启动和关闭 ♣设置用户名和密码 ♣发布java web项目 声明:这篇教程是建立在前两篇教程的基础上的,所以,还没安装工具和jdk,可以先看这个系列的前面两篇(去到文末 ...

  5. (转)windows 下安装配置 Nginx 详解

    windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...

  6. 【经验之谈】Windows环境下配置WordPress

    前言 wordpress全球著名的开放博客平台,拥有成千上万个各式插件和不计其数的主题模板样式,使用php和mysql搭建,下面说下载windows环境下配置wordpress,经验之谈. 安装 关于 ...

  7. [转载]SharePoint 2013测试环境安装配置指南

    软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...

  8. Windows7 x64 跨平台开发环境安装配置

    ======================================================================= Windows7 x64 跨平台开发环境安装配置 201 ...

  9. Windows平台安装配置mysql数据库

    Windows平台安装配置mysql数据库 作者:Eric 微信:loveoracle11g 去下载mysql软件 https://www.mysql.com/downloads/ https://d ...

随机推荐

  1. OD使用教程7

    破解程序获得使用权限:       破解思路:其实程序加密或者添加neg窗口都是为了让消费者付出更多的代价来解决这些问题.然而身为一个技术人员是可以靠技术来使这些东西消失的.只要我们找到那些东西出现的 ...

  2. JAVA 异常类

    1.Exception(异常) :是程序本身可以处理的异常. 2.Error(错误): 是程序无法处理的错误.这些错误表示故障发生于虚拟机自身.或者发生在虚拟机试图执行应用时,一般不需要程序处理. 3 ...

  3. House Robber III leetcode 动态规划

    https://leetcode.com/submissions/detail/56095603/ 这是一道不错的DP题!自己想了好久没有清晰的思路,参看大神博客!http://siukwan.sin ...

  4. 黑马程序员-c语言-类型强制转换

    强制转换的条件: 1.当所声明的类型不能满足所符值的变量时,需要转换声明的类型,以便能够存储变量. 例如:short存储的最大值为32767,但是所要符值大于32767时,short类型不符合,需要转 ...

  5. NOI 4976:硬币

    描述 宇航员Bob有一天来到火星上,他有收集硬币的习惯.于是他将火星上所有面值的硬币都收集起来了,一共有n种,每种只有一个:面值分别为a1,a2- an. Bob在机场看到了一个特别喜欢的礼物,想买来 ...

  6. css横向导航条

    css横向导航条有两种方法 1. ul li a li{float:left} #navlist li, #navlist a{height:44px;display:block;} a{width: ...

  7. hibernate的缓存机制

    hibernate提供两种缓存:一级缓存和二级缓存 一.一级缓存:也就是Session缓存(又称作事务缓存):Hibernate内置的,不能卸除. 在同一个Session里面,第一次调用get()方法 ...

  8. iOS navigationcontroller pop 回到上一层视图 如何刷新

    1.从视图A中navigation controller push到视图B,当视图B navigationcontroller pop回到视图A时,并不会调用A的viewDidLoad,但是会调用vi ...

  9. LintCode 463 Sort Integer

    这个是O(n2)的排序的总结 /* bubble sort */public static void sortIntegers(int[] A) { // Write your code here i ...

  10. 初步了解yield_python

    yield 关键字是在学习python生成器(Generator)时遇到的,对于它及Generator至今我还不能很深入的理解,当前只是把所理解的知识作下记录,以便以后翻查. yield关键字是用来定 ...