ReactNative之坑爹的在线安装
编译一个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之坑爹的在线安装的更多相关文章
- centos在线安装svn
centos在线安装svn 用下列命令安装svn服务 yum install subversion 创建svn版本库目录 mkdir -p /var/svn/svnrepos 创建版本库 svnadm ...
- Windows Server 2012 R2在线安装.NET Framework3.5
Windows Server 2012 (R2) 默认没有安装 .NET Framework 3.5,但可以通过在线安装或指定备用源路径方式. 之前在这个 在Win Server 2012中安装.NE ...
- IOS在线安装App
在越狱设备上可以安装,如果设备不越狱也想安装,就要企业发布权限了,可惜我没有,所以不能测试了! 1.创建ipa及plist文件: XCode菜单栏->Product->Archive-&g ...
- eclipse怎样在线安装hibernate tools插件并使用
不知不觉,小Alan已经将近3个月没有上班了,最近在复习一些知识,随时准备回到代码世界的战场,今天复习到了Hibernate,记录一下一点点小知识,那就是eclipse下hibernate Tools ...
- Linux:Ubuntu 14.04 Server 离线安装Jjava8(及在线安装)
(离线安装)首先,通过winscp上传本地下载好的jdk-8u102-linux-x64.gz (离线安装)将jdk-8u102-linux-x64.gz解压到到/usr/lib/jvm下,并把文件夹 ...
- Eclipse在线安装SVN
一.SVN在线安装 下面为在线安装SVN插件.以下是在线安装步骤: 其中http://subclipse.tigris.org/update_1.10.x是最新版本的SVN插件的下载站点[subcli ...
- Android开发学习总结(四)——Eclipse在线安装ADT插件
要想使用Eclipse开发Android应用,首先要安装一个ADT插件,在此记录一下在Eclipse中采用在线安装的方式ADT插件,我使用的Eclipse版本是:eclipse-jee-luna-SR ...
- 软件包管理 之 Fedora/Redhat 在线安装更新软件包,yum 篇 ── 给新手指南
在本文中,我们主要解介绍 Fedora core 4.0 通过软件包管理工具yum来在线安装更新软件:关于apt工具应用,我们会在另外一篇中介绍: 一. yum 的使用:有些初学Linux的弟兄可能问 ...
- iOS客户端的在线安装和更新——针对ADHoc证书
这篇文章纯给自己留个备份,所以对AdHoc证书内部分发和对iOS客户端开发不了解的请直接无视. 一般在iOS游戏或应用开发过程中,正式发布到App Store之前,都需要内部的测试,客户端的安装是个不 ...
随机推荐
- javamail 利用qq邮箱做邮箱服务器,简单小demo
首先maven: <dependency> <groupId>javax.mail</groupId> <artifactId>mail</art ...
- strtr和str_replace字符替换函数
(一)strtr是字符替换函数 (1)单个字符替换: <?php echo strtr("abba", "ab", "10"),&qu ...
- InfluxDB学习之InfluxDB连续查询(Continuous Queries)
在上一篇:InfluxDB学习之InfluxDB数据保留策略(Retention Policies) 中,我们介绍了 InfluxDB的数据保留策略,数据超过保存策略里指定的时间之后,就会被删除. 但 ...
- JS json的使用
json的定义 json能够通过4种基本数据类型以及2种结构化数据表示 字符串 "footbar" 不能使用单引号 数值 125.4 只支持10进制 布尔 true fals ...
- Maven编译jar出现:无法确定 T 的类型参数的异常的原因和处理方案
出错场景: 代码: public class JsonUtil { private static final Gson gson = new GsonBuilder().setDateFormat(& ...
- INFO: task java:27465 blocked for more than 120 seconds不一定是cache太大的问题
这几天,老有几个环境在中午收盘后者下午收盘后那一会儿,系统打不开,然后过了一会儿,进程就消失不见了,查看了下/var/log/message,有如下信息: Dec 12 11:35:38 iZ23nn ...
- 前端mvc框架backbone.js入门
关于backbone.js的优缺点,这里就不详谈了,网上关于这方面的讨论很多了,而且各种框架之所以长久生存,通常都是有其特定优势和擅长点的. 使用backbone.js作为前端框架的应用通常都是htm ...
- 关于HTML面试题汇总之visibility
一.页面可见性(visibility) 主要提供两个属性,一个事件(都在document对象上):1. 属性: 1.1. hidden:获取或设置当前页面的可见性,boolean值: 1.2 ...
- 【iScroll源码学习01】准备阶段
前言 我们昨天初步了解了为什么会出现iScroll:[SPA]移动站点APP化研究之上中下页面的iScroll化(上),然后简单的写了一个demo来模拟iScroll,其中了解到了以下知识点: ① v ...
- OpenGL显示图片
最近想用C++在windows下实现一个基本的图像查看器功能,目前只想到了使用GDI或OpenGL两种方式.由于实在不想用GDI的API了,就用OpenGL的方式实现了一下基本的显示功能. 用GDAL ...