编译一个github上ReactNative应用,根据说明只有3步:

npm install
react-native run-android
enjoy

但几个步骤实在是一波三折充满着坎坷,一点都不enjoy。

那就让我们来说一下这个有(keng)趣(die)的故事吧

执行npm install主要的作用在安装第三方依赖包,依赖包的内容在package.json里定义。

npm是node.js里的工具,本人之前并不了解。既然要学习ReactNative就需要了解npm究竟在搞什么鬼。

像这样在线安装的方式是很常见的,已解决项目依赖的问题。ubuntu或者其他的版本的liunx中都像apt-get这样的命令来安装/更新软件。

java程序如果使用maven编译,或者android studio中使用gradle,或者android sdk都是采用在线更新的方式。

实际上本人一直不喜欢在线更新,因为在线更新的工具下载速度往往比不上专门的下载工具,有的还不支持断点续传,更何况有的国外线路下载本来就很慢。更严重的是中国的网络屏蔽了很多国外的资源导致下载失败。

因此往往还要研究怎么手动跟新,看似简单反而麻烦,还不如直接提供下载地址。

正式因为如此,本人在执行npm install的时候,很久也没有动静,经过一番研究后发现,执行npm install后会在相应的目录下生成一个node_modules目录,这个目录中存放第三方的依赖库,ReactNative程序会有一个react-native目录,react-native 这个目录比较大,所以导致执行npm install半天没有反应。

由于速度太慢,我就把文件夹从其他的地方拷贝过来,发现也是可以的(这个目录文件比较多,直接拷贝也不是很快),再执行命令就会更新其他的依赖包,一般依赖包都不是很大,如果网络没有问题,速度还可以,就是react-native这个依赖包比较大。

但不幸的是,我这里是是铁通的宽带,尽然下载失败,于是我就想到,是不是有国内的镜像呢,百度上查了一下还真有国内的镜像:npm淘宝镜像

http://npm.taobao.org/

npm install --registry=https://registry.npm.taobao.org

真是万能的淘宝啊。

然后执行
node node_modules\react-native\packager\packager.js
就可以运行服务器端程序了,如果是windows下运行,需要更加前面文章中修复服务器端的bug(如果bug依然存在的话)。

如果是用windows编译安卓端loader,也需要根据之前的文章来设置。

这个项目中,安卓端引用的ReactNative已经更新到0.12了,不需要下载前面文章中说的aar了,这样要修复前面文章中android端的bug只需要修改依赖项的版本就可以了,我在写前面那篇文的时候还没更新,ReactNative的更新速度还是挺快的。

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.facebook.react:react-native:0.12.+'
}

github上ReactNative项目地址:
https://github.com/race604/ZhiHuDaily-React-Native

ReactNative之坑爹的在线安装的更多相关文章

  1. centos在线安装svn

    centos在线安装svn 用下列命令安装svn服务 yum install subversion 创建svn版本库目录 mkdir -p /var/svn/svnrepos 创建版本库 svnadm ...

  2. Windows Server 2012 R2在线安装.NET Framework3.5

    Windows Server 2012 (R2) 默认没有安装 .NET Framework 3.5,但可以通过在线安装或指定备用源路径方式. 之前在这个 在Win Server 2012中安装.NE ...

  3. IOS在线安装App

    在越狱设备上可以安装,如果设备不越狱也想安装,就要企业发布权限了,可惜我没有,所以不能测试了! 1.创建ipa及plist文件: XCode菜单栏->Product->Archive-&g ...

  4. eclipse怎样在线安装hibernate tools插件并使用

    不知不觉,小Alan已经将近3个月没有上班了,最近在复习一些知识,随时准备回到代码世界的战场,今天复习到了Hibernate,记录一下一点点小知识,那就是eclipse下hibernate Tools ...

  5. Linux:Ubuntu 14.04 Server 离线安装Jjava8(及在线安装)

    (离线安装)首先,通过winscp上传本地下载好的jdk-8u102-linux-x64.gz (离线安装)将jdk-8u102-linux-x64.gz解压到到/usr/lib/jvm下,并把文件夹 ...

  6. Eclipse在线安装SVN

    一.SVN在线安装 下面为在线安装SVN插件.以下是在线安装步骤: 其中http://subclipse.tigris.org/update_1.10.x是最新版本的SVN插件的下载站点[subcli ...

  7. Android开发学习总结(四)——Eclipse在线安装ADT插件

    要想使用Eclipse开发Android应用,首先要安装一个ADT插件,在此记录一下在Eclipse中采用在线安装的方式ADT插件,我使用的Eclipse版本是:eclipse-jee-luna-SR ...

  8. 软件包管理 之 Fedora/Redhat 在线安装更新软件包,yum 篇 ── 给新手指南

    在本文中,我们主要解介绍 Fedora core 4.0 通过软件包管理工具yum来在线安装更新软件:关于apt工具应用,我们会在另外一篇中介绍: 一. yum 的使用:有些初学Linux的弟兄可能问 ...

  9. iOS客户端的在线安装和更新——针对ADHoc证书

    这篇文章纯给自己留个备份,所以对AdHoc证书内部分发和对iOS客户端开发不了解的请直接无视. 一般在iOS游戏或应用开发过程中,正式发布到App Store之前,都需要内部的测试,客户端的安装是个不 ...

随机推荐

  1. [javaSE] 注解-JDK中的注解

    java中的常见注解 jdk自带注解:@Override 覆盖  @Deprecated 过期  @Suppvisewarnings 压制警告 package com.tsh.ano; public ...

  2. Java--Semaphore控制并发线程数量

    package com; import java.util.concurrent.Semaphore; /** * Created by yangyu on 16/11/28. */ /** * Se ...

  3. log4j在javaWeb项目中的使用

    在前边的文章中对log4j的配置文件进行了说明,今天介绍如何在普通的javaWeb项目中使用log4j. 在日常的开发过程中,日志使用的很频繁,我们可以利用日志来跟踪程序的错误,程序运行时的输出参数等 ...

  4. Js 风骚的代码

    1.写自动调用的匿名函数 当我们写完一个函数立即调用时,总是 function a(){ } a(); 或许 var a = function(){ } a(); 而高手总是 (function(){ ...

  5. linux TCP: time wait bucket table overflow

    早上一台rabbitmq和Java所在的服务器,客户端反馈超级卡,看io和cpu都不高.发现六七万消息挤压,临时性问题解决之后,看/var/log/messages,发现很多TCP: time wai ...

  6. jQuery Sidebar 侧边栏

    在线实例 左边栏 右边栏 使用方法     <div class="txt">             <p class="btn"> ...

  7. 12款支持移动设备的响应式 WordPress 主题

    响应式和现代设计风格的多用途 WordPress 主题与能够非常灵活的适应所有设备.而高级主题能够更大可能性的轻松定制.所有的主题是完全响应式的,您可以从主题选项中启用响应模式. 今天,这个列表收集了 ...

  8. 乱码之MyEclipse控制台

    今天突然发现控制台出现乱码,查了资料解决方案不一. 我的解决方案如下: Run -> Debug Configuration... -> MyEclipse Servler -> M ...

  9. 一些XMLHttpRequest的例子代码

    以下例子摘录自:javascript权威指南 //异步请求(事件监听请求是否返回) function getText(url,callback){ var request = new XMLHttpR ...

  10. js方法实现rgb颜色转换成16进制格式的代码的方法

    原文地址:http://www.cnblogs.com/vaal-water/archive/2013/04/08/3008880.html 自己试过很好用 function zero_fill_he ...