react-native 可能会出现一种情况,就是版本最高的可能出现有些东西不太稳定,这时候要用到旧的版本怎么办?就可以用以下方法创建项目。

0. 原因

创建新的 React-Native (以下简称 RN)的时候,我们一般都是用以下命令:

react-native init [Project Name]

这个命令会从 npm 安装 react-native package,然后用执行该 package 中的 cli.js完成工程文件初始化。

这里有一点不方便的是,由于react-native 自身的版本升级非常频繁(两周发布一个版本),还往往会造成向前不兼容(毕竟还没有到1.0版本)。因此,我们经常要创建使用不同版本 react-native 的工程进行测试,尤其是对那些第三方的组件。而使用react-native init [Project Name] 是做不到这一点的。

这个需求对我来说过于频繁,于是我就干脆复制了react-native-cli的代码,加了自己的参数,提交了一个新的 package rninit

rninit 的安装和使用和react-native-cli类似。

1. 安装

npm i -g rninit

2. 使用

2.1 用最新的 react-native 版本创建工程:

rninit init [Project Name]

2.2 用特定的 react-native npm 版本创建工程:

rninit init [Project Name] --source react-native@0.42.

2.3 从某个 Git Repo. 创建工程:

rninit init [Project Name] --source git+https://github.com/facebook/react-native.git#v0.42.2

这也方便你从自己 Clone 或 Fork 的 react-native 版本来创建工程。

2.4 “source” 参数格式

--source 参数的格式其实就是所有 npm install 支持的参数格式

2.5 “verbose” 参数

原本  react-native 支持的 --verbose 参数仍然被支持:

rninit init [Project Name] --source react-native@0.42. --verbose

这样你可以看到 npm 安装过程中的详细输出信息。

创建 React-Native 工程时,如何指定特定的 React-Native 版本的更多相关文章

  1. 使用Idea第一次创建一个Mavne工程时没有src目录

    在使用idea创建一个maven工程时没有src目录,可能出现的问题很多,我先把我自己的问题分享上来 因为没有src,可能是因为maven插件还没下载到本地仓库.maven插件的版本和jdk版本冲突或 ...

  2. Eclipse使用Maven创建普通Java工程时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE from any of the configured repositories.

    报错信息如下: Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE f ...

  3. oracle创建第三方数据接口表,指定特定用户访问某张表

    /*****创建用户并指定操作哪张表开始******/ --1.创建用户并设置默认表空间 CREATE USER CHENGDWY IDENTIFIED BY CHENGDWY DEFAULT TAB ...

  4. SimpleDateFormat 转化毫秒到日期时,指定特定的时区

    http://blog.csdn.net/wangpeng047/article/details/8560690 影响TimeZone的因素: 1. 操作系统的时区设置. 2. 数据传输时时区设置. ...

  5. 在idea中创建maven父子工程,子工程无法导入父工程依赖的问题

    创建maven父子工程时遇到一个问题,当子工程的名称前缀和父工程的名称一样时,子工程会出现一系列的问题.比如我的父工程名称是microservicecloud,子工程名称是microservicecl ...

  6. React Native工程中TSLint静态检查工具的探索之路

    建立的代码规范没人遵守,项目中遍地风格迥异的代码,你会不会抓狂? 通过测试用例的程序还会出现Bug,而原因仅仅是自己犯下的低级错误,你会不会抓狂? 某种代码写法存在问题导致崩溃时,只能全工程检查代码, ...

  7. 执行Android项目时指定特定的AVD进行測试

    一个Androidproject空间能够创建一个或多个AVD来对指定的Android项目进行測试,假设仅仅创建了一个AVD则执行Android项目时自然启动该AVD,但是假设创建了多个AVD那么我们该 ...

  8. iOS 10 (X8)上CoreData的使用(包含创建工程时未添加CoreData)

    1.在创建工程时未添加CoreData,后期想要使用CoreData则要在工程Appdelegate.h文件中添加CoreData库和CoreData中的通道类(用来管理类实例和CoreData之间的 ...

  9. 【原】使用IDEA创建Maven工程时提示"...xxx/pom.xml already exists in VFS"的解决

    问题:使用IDEA创建Maven工程时提示"...xxx/pom.xml already exists in VFS",怎么办? 解决:如果只是删除工程,还会有这样的提示.说到底, ...

随机推荐

  1. Android MPAndroidChart LineChart 显示数据格式化

    最近帮助同学,使用MPAndroidChart 控件,在图表显示时候, class MyValueFormatter implements IValueFormatter { @RequiresApi ...

  2. Orcale分析函数OVER(PARTITION BY... ORDER BY...)的讲解

    顾名思义,PARTITION 中文是分割的意思,ORDER 是排序的意思,所以翻译一下就是先把一组数据按照制定的字段进行分割成各种组,然后组内按照某个字段排序. 以实际案例来说明这个函数的使用, 首先 ...

  3. C#学习笔记(10)——再谈委托,不同国家问候的例子

    说明(2017-6-14 09:08:38): 1. 首先是一个简单的委托 (1)命名空间下定义一个委托MyDel: public delegate void MyDel(string name); ...

  4. pthread_mutex_timedlock

    函数pthread_mutex_timedlock 当线程试图获取一个已加锁的互斥变量时,pthread_mutex_timedlock互斥量原语允许绑定线程 阻塞的时间.pthread_mutex_ ...

  5. fast neural style transfer图像风格迁移基于tensorflow实现

    引自:深度学习实践:使用Tensorflow实现快速风格迁移 一.风格迁移简介 风格迁移(Style Transfer)是深度学习众多应用中非常有趣的一种,如图,我们可以使用这种方法把一张图片的风格“ ...

  6. Selenium (2) —— Selenium WebDriver + Grid2(101 Tutorial)

    Selenium (2) -- Selenium WebDriver + Grid2(101 Tutorial) jvm版本: 1.8.0_65 selenium版本: v2.48.0 (Standa ...

  7. Android训练课程(Android Training) - NFC基础

    NFC 基础 本文档介绍了在Android上的基本的NFC任务.它说明了如何发送和接收的NDEF消息(NDEF messages)的形式的表单里包含的NFC数据(NFC data),并介绍Androi ...

  8. 【C】——利用sigsuspend函数等待信号阻塞进程

    #include<signal.h> int sigsuspend(const sigset_t *sigmask); 返回值:-,并将errno设置为EINTR 将进程的信号屏蔽字设置为 ...

  9. java - 分页类

    pager.java package com.jspnews.util; import java.io.Serializable; import java.util.List; /** * * < ...

  10. const_cast的应用

    对于const变量,我们不能修改它的值,这是这个限定符最直接的表现.但是我们就是想违背它的限定希望修改其内容怎么办呢?于是我们可以使用const_cast转换符是用来移除变量的const限定符.con ...