# React Native学习笔记（一）【环境搭建】

**URL:** <https://www.shiqidu.com/t/topic/164>\
**Category:** 开发调优\
**Tags:** React-Native\
**Created:** [2017 年3 月 23 日 15:29 UTC](https://www.shiqidu.com/t/topic/164 "2017-03-23T15:29:20Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

作者： ![Eureka](https://www.shiqidu.com/user_avatar/www.shiqidu.com/eureka/32/5_2.png) [@Eureka](https://www.shiqidu.com/u/Eureka)\
发布日期： [2017 年3 月 23 日 15:29 UTC](https://www.shiqidu.com/t/topic/164/1 "2017-03-23T15:29:20Z")

</div>

本系列笔记记录从0开始学习ReactNative的过程，分享在学习过程遇到的坑，以及解决方案。

> **电脑系统 Windows 10**

### 一，环境搭建

中文官网：[http://reactnative.cn](http://reactnative.cn "http://reactnative.cn")

**1，微软包管理器 _Chocolatey_**

[Chocolatey](https://chocolatey.org/ "Chocolatey")是一个Windows上的包管理器，类似于linux上的`yum`和 `apt-get`。一般安装步骤：

> @powershell -NoProfile -ExecutionPolicy Bypass -Command “iex ((new-object net.webclient).DownloadString(‘[https://chocolatey.org/install.ps1](https://chocolatey.org/install.ps1)’))” && SET PATH=%PATH%;%ALLUSERSPROFILE%chocolateybin

以管理员身份运行CMD，执行上面的命令。

**遇到问题**

```bash
使用“2”个参数调用“DownloadFile”时发生异常:“操作已超时。”
所在位置 行:163 字符: 3
+ $downloader.DownloadFile($url, $file)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : WebException

Downloading 7-Zip commandline tool prior to extraction.
使用“2”个参数调用“DownloadFile”时发生异常:“操作已超时。”
所在位置 行:163 字符: 3
+ $downloader.DownloadFile($url, $file)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : WebException
	
	使用“0”个参数调用“Start”时发生异常:“系统找不到指定的文件。”
所在位置 行:209 字符: 3
+ $process.Start() | Out-Null
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : Win32Exception

使用“0”个参数调用“BeginOutputReadLine”时发生异常:“StandardOut 未重定向或者该进程尚未启动。”
所在位置 行:210 字符: 3
+ $process.BeginOutputReadLine()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : InvalidOperationException

使用“0”个参数调用“WaitForExit”时发生异常:“没有与此对象关联的进程。”
所在位置 行:211 字符: 3
+ $process.WaitForExit()
+ ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : InvalidOperationException

Unable to unzip package using 7zip. Perhaps try setting $env:chocolateyUseWindowsCompression = 'true' and call install
again. Error: 7-Zip signalled an unknown error (code )
所在位置 行:223 字符: 15
+ ... default { throw "$errorMessage 7-Zip signalled an unknown error (co ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : OperationStopped: (Unable to unzip...n error (code ):String) [], RuntimeException
    + FullyQualifiedErrorId : Unable to unzip package using 7zip. Perhaps try setting $env:chocolateyUseWindowsCompres
   sion = 'true' and call install again. Error: 7-Zip signalled an unknown error (code )

```

**解决方法**

可能是微软的执行策略引起的问题，因此在安装前先在powershell中执行下以下命令(管理员身份)。

```bash
Set-ExecutionPolicy unrestricted

```

然后再去执行chocolatry的安装命令。

![应该可以安装成功了](https://discourse.shiqidu.com/uploads_nj/article/2017-03-25/58d5e3b37ca98.png "应该可以安装成功了")

然后我们测试下chocolatey是否安装成功

![如果出现版本号说明安装成功](https://discourse.shiqidu.com/uploads_nj/article/2017-03-25/58d5e3fd8de08.png "如果出现版本号说明安装成功")

**2，安装python,nodejs**

直接按照官方教程安装即可

**3，Android Studio和jdk**

Androidstudio推荐去官方的中文网站[http://www.android-studio.org](http://www.android-studio.org "http://www.android-studio.org")下载，速度较快。

这两个都安装完成后，我们需要配置下java的环境变量。

新建一个`JAVA_HOME`的环境变量，值为你的jdk根目录。

![配置JAVA_HOME环境变量](https://discourse.shiqidu.com/uploads_nj/article/2017-03-25/58d5f55327f62.png "配置JAVA\_HOME环境变量")

然后我们还需要将 **jdk** 的 **bin** 目录，加入环境变量`PATH`

![点击PATH>新建>将bin目录粘贴进去](https://discourse.shiqidu.com/uploads_nj/article/2017-03-25/58d5f5b6840c7.png "点击PATH>新建>将bin目录粘贴进去")

然后打开cmd，测试下是否成功了。

![出现这些内容说明安装成功](https://discourse.shiqidu.com/uploads_nj/article/2017-03-25/58d5f63ccc235.png "出现这些内容说明安装成功")

**4,Genymotion**

直接按照官方教程安装即可

* * *

**在运行facebook 官方demo react-native时报找不到入口文件**

![](https://discourse.shiqidu.com/uploads_nj/article/2017-03-25/58d681df6f731.png)

**解决方法**

遇到这种情况，查看你的cmd窗口，看看是不是还没创建index.android.js，如果没有或者停掉了，运行`react-native start`命令创建index.android.js。

![](https://discourse.shiqidu.com/uploads_nj/article/2017-03-26/58d7712c26d28.png)

---

<div class="post-metadata">

作者： ![yeqiu](https://www.shiqidu.com/user_avatar/www.shiqidu.com/yeqiu/32/14_2.png) [@yeqiu](https://www.shiqidu.com/u/yeqiu)\
发布日期： [2017 年3 月 24 日 08:07 UTC](https://www.shiqidu.com/t/topic/164/2 "2017-03-24T08:07:34Z")

</div>

Learn once , Write anywhere。[em\_13]

---

<div class="post-metadata">

作者： ![Eureka](https://www.shiqidu.com/user_avatar/www.shiqidu.com/eureka/32/5_2.png) [@Eureka](https://www.shiqidu.com/u/Eureka)\
发布日期： [2017 年3 月 25 日 17:09 UTC](https://www.shiqidu.com/t/topic/164/3 "2017-03-25T17:09:06Z")

</div>

环境搭建坑太多了。。。
