iOS拓展:react-native创建工程的坑和解决方法
正文
首先,在创建工程之前,你需要有环境。这个网上很多,不赘述。
我们直接从创建工程开始,一步步记叙这过程。
坑一
一、打开终端,cd到你放文件的位置(我放在桌面了):
yuqideMacBook-Air:~ yuqi$ cd /Users/yuqi/Desktop
二、然后创建工程:
react-native init RN1
输入完后,桌面就立马多了一个RN1文件夹,然后终端会跳出一大串代码,最后出现下图,说明创建完成:

三、运行
这个时候,正如终端提示那样,你有两个方法可以打开项目,首先尝试第一个(cd到文件夹,然后run-ios命令):
yuqideMacBook-Air:Desktop yuqi$ cd /Users/yuqi/Desktop/RN1 yuqideMacBook-Air:RN1 yuqi$ react-native run-ios
结果运行失败:

查资料后,找到解决方法:
删除node-modules文件夹,修改pakage.json文件,然后执行npm install。其中,pakage.json文件应该这么改:
把
"react": "16.0.0-alpha.12",
"react-native": "0.45.0"
改成下面的版本:
"react": "16.0.0-alpha.6",
"react-native": "0.44.3"


这时,再执行
yuqideMacBook-Air:RN1 yuqi$ react-native run-ios
发现成功运行,并打开了一个新的终端:


到此坑一以及解决方法结束。
坑二
当我开心的以为这样就成功的时候,打开Xcode,发现跑不起来!

然后开始疯狂得搜索错误原因和解决方法,然而很久都搜不到。。。
最终,get到的解决办法是创建项目的时候的命令加一个版本设定:
yuqideMacBook-Air:Desktop yuqi$ react-native init --version="0.42.0" RN2
创建完后,通过终端运行:


到此,终于成功创建。
作者:Jabber_YQ
链接:https://www.jianshu.com/p/507e69984251
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
iOS拓展:react-native创建工程的坑和解决方法的更多相关文章
- Ubuntu 16.04下使用Eclipse:创建工程时卡死的解决方法
问题如下: Ubuntu 16.04下使用Eclipse创建工程时出现卡顿和卡死,新建一个MapReduce项目卡了一下午,鼠标变成了圆圈进度条转了一下午,还关不掉. 当我直接去关闭新建项目的窗口时, ...
- 如何用 React Native 创建一个iOS APP?(三)
前两部分,<如何用 React Native 创建一个iOS APP?>,<如何用 React Native 创建一个iOS APP (二)?>中,我们分别讲了用 React ...
- 如何用 React Native 创建一个iOS APP?(二)
我们书接上文<如何用 React Native 创建一个iOS APP?>,继续来讲如何用 React Native 创建一个iOS APP.接下来,我们会涉及到很多控件. 1 AppRe ...
- 如何用 React Native 创建一个iOS APP?
诚然,React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用.在 JavaScript 中用 Reac ...
- Mac中搭建 iOS 的 React Native 环境
手把手教你在Mac中搭建iOS的 React Native环境 http://www.cnblogs.com/damnbird/p/6074607.html 准备工作 1.你需要一台Mac电脑..(这 ...
- 记一次SpringBoot 开发中所遇到的坑和解决方法
记一次SpringBoot 开发中所遇到的坑和解决方法 mybatis返回Integer为0,自动转型出现空指针异常 当我们使用Integer去接受数据库中表的数据,如果返回的数据中为0,那么Inte ...
- MySQL中同时存在创建和更新时间戳字段解决方法浅析
MySQL中同时存在创建和更新时间戳字段解决方法浅析 明确我的MySQL版本.mysql> SELECT VERSION();+------------+| VERSION() |+------ ...
- React Native创建一个APP
React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用.在 JavaScript 中用 React 抽 ...
- 手把手教你在Mac中搭建iOS的 React Native环境
准备工作 1.你需要一台Mac电脑..(这不是废话?我所用的是Air~~穷..) 2.我所操作的电脑系统环境是 3.xcode版本:8.0正式版 必需的软件 1.Homebrew Homebrew, ...
随机推荐
- delphi 读取编译的version信息
在create中调用就可以了 unit About; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, ...
- NSPredicate 条件查询或过虑
NSPredicate用于查询和过滤 在SQL中作为查询条件通常用WHERE,但在COREDATA中作为查询条件就可以用到NSPredicate. NSPredicate 不单可以和COREDATA中 ...
- 【Mysql】字段排序中文排序
在mysql中 如果字段的值是中文的话,排序结果往往不符合人意. 所以如果要中文排序正常的话,可以使用如下函数 SELECT huayangare0_.id AS id1_0_, huayangare ...
- 【Linux】linux下查看目录所在分区
命令如下: df -h 目录名 具体使用例子如下:查看/home/sxd/文档处于哪个分区 ------------------------------------------------------ ...
- etcd:从应用场景到实现原理的全方位解读
随着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用强一致性的服务发现存储仓库,渐 渐为开发人员所关注.在云计算时代,如何让服务快速透明地接入到 ...
- form的action属性作用
一.action=""和action="#".没有action属性的作用相同,都是提交到当前页面(也就是document.location.href) 二.ac ...
- Java:网络编程之应用实例
1.聊天 编写一个聊天程序,有收数据的部分和发数据的部分. 这两部分需要同时执行,那么就需要多线程技术. 一个线程控制发送. 一个线程控制接收. 因为收和发动作是不一致的,所以要定义两个run方法,而 ...
- 5分钟教程:如何通过UART获得root权限
写在前面的话 你知道物联网设备以及其他硬件制造商是如何调试和测试自家设备的吗?没错,绝大多数情况下,他们都会留下一个串行接口,这样就可以利用这个接口并通过shell来读取实时的调试日志或与硬件进行交互 ...
- java、freemarker保留两位小数
一.Java保留2位小数 double acc = 22.4322; String accX = String.format("%.2f", acc); 二.freemarker保 ...
- Maven 缺省内置变量
1.${project.build.directory} 构建目录,缺省为target 2.${project.build.outputDirectory} 构建过程输出目录,缺省为target/cl ...