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, ...
随机推荐
- python pip安装lxml失败(转)
今天想要试试beautifulsoup4,安装的时候很顺利,然后就准备安装lxml作为解析器,没想到安装时pip直接给我报了一整页的错误. 解决过程 查看了一下错误提示,其中有如下一段: ****** ...
- UserAgent伪装浏览器
经常逛论坛的朋友经常会遇到这样的问题:论坛个性签名里的JS代码把个人浏览器信息等被人一览无余,我并不想他们得到我的这类信息. 咋办?很简单的办法就是伪装,怎么伪装?对于chrome.firefox等这 ...
- Vue表单和组件
一.表单 v-model 指令在表单控件元素上创建双向数据绑定,v-model 会根据控件类型自动选取正确的方法来更新元素. <input v-model="message" ...
- JS或jQuery获取当前屏幕宽度
Javascript: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.b ...
- 2017.5.15 markdown简明教程
0.说明 markdown是一种书写格式,html是一种发布格式.markdown的语法种类只对应html标记的一小部分(只涵盖纯文本). 不在markdown涵盖范围的标签,都可以直接在文档里用ht ...
- 2017.5.9 java多线程总结
参考来自:http://www.cnblogs.com/lwbqqyumidi/p/3804883.html http://blog.csdn.net/gf771115/article/details ...
- 用反射来了解Java中泛型的本质
这篇文章主要通过Class的Method来了解泛型的本质. 先new 两个List,一个不加类型限制,另外一个限制类型为String: ArrayList list = new ArrayList() ...
- 关于httpclient 请求https (如何绕过证书验证)
第一种方法,适用于httpclient4.X 里边有get和post两种方法供你发送请求使用.导入证书发送请求的在这里就不说了,网上到处都是 import java.io.BufferedReader ...
- ANT使用 - 用for和foreach的方法遍历一个文件夹,查找到某个文件并删除
转自:http://www.cnblogs.com/QAZLIU/p/3732329.html?utm_source=tuicool&utm_medium=referral build.xml ...
- 如何Tomcat注册成系统服务
1.开始->运行(windos+r)中敲cmd,DOS界面2.cd到tomcat的bin目录下3.运行命令service.bat install 这里可以指定注册服务的名字,然后就可以 ...