正文

首先,在创建工程之前,你需要有环境。这个网上很多,不赘述。
我们直接从创建工程开始,一步步记叙这过程。

坑一

一、打开终端,cd到你放文件的位置(我放在桌面了):
yuqideMacBook-Air:~ yuqi$ cd /Users/yuqi/Desktop
二、然后创建工程:
react-native init RN1
输入完后,桌面就立马多了一个RN1文件夹,然后终端会跳出一大串代码,最后出现下图,说明创建完成:

 
1_1.png

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

 
1_2.png

查资料后,找到解决方法:
删除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"
 
1_3.png
 
1_4.png

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

 
1_5.png
 
1_6.png

到此坑一以及解决方法结束。

坑二

当我开心的以为这样就成功的时候,打开Xcode,发现跑不起来!

 
2_1.png

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

 
2_2.png
 
2_3.png

到此,终于成功创建。

作者:Jabber_YQ
链接:https://www.jianshu.com/p/507e69984251
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

iOS拓展:react-native创建工程的坑和解决方法的更多相关文章

  1. Ubuntu 16.04下使用Eclipse:创建工程时卡死的解决方法

    问题如下: Ubuntu 16.04下使用Eclipse创建工程时出现卡顿和卡死,新建一个MapReduce项目卡了一下午,鼠标变成了圆圈进度条转了一下午,还关不掉. 当我直接去关闭新建项目的窗口时, ...

  2. 如何用 React Native 创建一个iOS APP?(三)

    前两部分,<如何用 React Native 创建一个iOS APP?>,<如何用 React Native 创建一个iOS APP (二)?>中,我们分别讲了用 React ...

  3. 如何用 React Native 创建一个iOS APP?(二)

    我们书接上文<如何用 React Native 创建一个iOS APP?>,继续来讲如何用 React Native 创建一个iOS APP.接下来,我们会涉及到很多控件. 1 AppRe ...

  4. 如何用 React Native 创建一个iOS APP?

    诚然,React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用.在 JavaScript 中用 Reac ...

  5. Mac中搭建 iOS 的 React Native 环境

    手把手教你在Mac中搭建iOS的 React Native环境 http://www.cnblogs.com/damnbird/p/6074607.html 准备工作 1.你需要一台Mac电脑..(这 ...

  6. 记一次SpringBoot 开发中所遇到的坑和解决方法

    记一次SpringBoot 开发中所遇到的坑和解决方法 mybatis返回Integer为0,自动转型出现空指针异常 当我们使用Integer去接受数据库中表的数据,如果返回的数据中为0,那么Inte ...

  7. MySQL中同时存在创建和更新时间戳字段解决方法浅析

    MySQL中同时存在创建和更新时间戳字段解决方法浅析 明确我的MySQL版本.mysql> SELECT VERSION();+------------+| VERSION() |+------ ...

  8. React Native创建一个APP

    React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用.在 JavaScript 中用 React 抽 ...

  9. 手把手教你在Mac中搭建iOS的 React Native环境

    准备工作 1.你需要一台Mac电脑..(这不是废话?我所用的是Air~~穷..) 2.我所操作的电脑系统环境是 3.xcode版本:8.0正式版 必需的软件 1.Homebrew Homebrew, ...

随机推荐

  1. python pip安装lxml失败(转)

    今天想要试试beautifulsoup4,安装的时候很顺利,然后就准备安装lxml作为解析器,没想到安装时pip直接给我报了一整页的错误. 解决过程 查看了一下错误提示,其中有如下一段: ****** ...

  2. UserAgent伪装浏览器

    经常逛论坛的朋友经常会遇到这样的问题:论坛个性签名里的JS代码把个人浏览器信息等被人一览无余,我并不想他们得到我的这类信息. 咋办?很简单的办法就是伪装,怎么伪装?对于chrome.firefox等这 ...

  3. Vue表单和组件

    一.表单 v-model 指令在表单控件元素上创建双向数据绑定,v-model 会根据控件类型自动选取正确的方法来更新元素. <input v-model="message" ...

  4. JS或jQuery获取当前屏幕宽度

    Javascript: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.b ...

  5. 2017.5.15 markdown简明教程

    0.说明 markdown是一种书写格式,html是一种发布格式.markdown的语法种类只对应html标记的一小部分(只涵盖纯文本). 不在markdown涵盖范围的标签,都可以直接在文档里用ht ...

  6. 2017.5.9 java多线程总结

    参考来自:http://www.cnblogs.com/lwbqqyumidi/p/3804883.html http://blog.csdn.net/gf771115/article/details ...

  7. 用反射来了解Java中泛型的本质

    这篇文章主要通过Class的Method来了解泛型的本质. 先new 两个List,一个不加类型限制,另外一个限制类型为String: ArrayList list = new ArrayList() ...

  8. 关于httpclient 请求https (如何绕过证书验证)

    第一种方法,适用于httpclient4.X 里边有get和post两种方法供你发送请求使用.导入证书发送请求的在这里就不说了,网上到处都是 import java.io.BufferedReader ...

  9. ANT使用 - 用for和foreach的方法遍历一个文件夹,查找到某个文件并删除

    转自:http://www.cnblogs.com/QAZLIU/p/3732329.html?utm_source=tuicool&utm_medium=referral build.xml ...

  10. 如何Tomcat注册成系统服务

    1.开始->运行(windos+r)中敲cmd,DOS界面2.cd到tomcat的bin目录下3.运行命令service.bat install      这里可以指定注册服务的名字,然后就可以 ...