编译一个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. 字符串-Alphabet

    在一些应用当中,会对字符串的字母表进行限制,在这些应用中,往往会用到如下的示例所涉及到的几点知识: public static void main(String[] args){ String[] a ...

  2. SoapUI 使用笔记

    1. 构建项目 安装完成后 右键Project --> New SOAP Project 在弹出的 New SOAP Project框中输入名字 和 webservice服务地址(example ...

  3. Greenplum(GP)常见问题,注意事项

    1.在安装过程中,出现的 source /usr/local/greenplum-db/greenplum_path.sh 不要写到profile或者./bashrc文件中 因为该句会导致python ...

  4. Java Session超时设置

    1.jsp页面直接设置                                                                        ); 2.web.xml设置,覆盖 ...

  5. sql 2000 关于用户权限以及sp3问题的排查

    今天在服务器上布置项目的时候tomcat启动报错,说是没有读取数据库的权限,于是开始查看自己的代码,结果发现代码中的数据库配置是正确的,于是开始找数据库本身的问题,当查看权限的时候本人新开的账户没有读 ...

  6. javascript模板库jsrender加载并缓存外部模板文件

    前一篇说了jsrender嵌套循环的使用,在SPA的应用中,广泛使用的一个点就是view模板,使用了SPA之后,每个业务页面不再是独立的html,仅仅是一个segment,所以通常这些segment会 ...

  7. go语言 类型:字符串

    示例 package main import ( "fmt" ) func main() { var str1 string // 声明一个字符串变量 str1 = "H ...

  8. Icon Font浅谈

    这周继续在弄hybird app 的 UI框架的重构,进行到了编写换肤功能的阶段,而在做换肤之前,我想应该先弄一套框架内置的图标. 而图标无非就是两种做法: 1.图片 使用图片很正常,但是有缺陷的. ...

  9. 原型prototype

    JS对象的比较 由于JS是解释执行的语言,那么代码中出现函数与对象如果重复执行,会创建多个副本 创建一个Person构造函数,要求有name,age,gender,sayHello 代码如下: fun ...

  10. TI的DSP、ST的ARM、Intel的X86浮点性能对比

    估计没什么价值,单纯地记录下时间,以便以后查看.   TMS320F28335 STM32f030 i3 4170 i3 4170 主频 150MHz 48MHz 3.7GHZ 3.7GHZ IDE ...