mac上配置react-native环境run-ios/run-android命令遇到的问题
今天在搞react-native环境时,遇到了一些坑,这里记录一下。
首先最重要的一点是一定要按官网一步一步来,不然可能会出现一些奇奇怪怪的问题!
run-ios问题
ios主要是版本问题,就如官网上说的一样,0.45及以上的版本,在run-ios时会出现报错,这里就按官网上给的国内链接来解决。
这里说一下,如果直接run-ios,其实~/.rncache文件夹里也可能会下载到对应的文件,但是还是基本百分之百报错,找不到boost……什么文件。所以从网盘下载下来后,记得一定要把~/.rncache文件夹里的文件全替换成自己下载的。
之后init的项目就没问题了。
run-android问题
环境和SDK问题
按官网教程配置好环境。

如果出现这个问题可以在run之后用android studio打开等待初始化完成(打开后如果初始化失败,看log窗口,如果提示要安装什么就点击安装,一般要安装两个。这里安装的东西不是更新gradle!)。(注意一点,studio可能打开会提示更新gradle到3.3,不要更新!)。
gradle和权限问题
gradle默认都是下载2.14.1的,在run-android时可能会出现下载失败或者长时间下载不了,这时就手动去下载。
下载完成后将其放入某个文件夹下,再取出文件路径,用其替换项目中 android/gradle/wrapper/gradle-wrapper.properties 的 distributionUrl。
即distributionUrl=file\:///{路径}/gradle-2.14.1-all.zip。
mac中调用本地文件时可能会出现权限问题,这时选中你的项目文件夹,右键选择显示简介,拉到最下面,如下图:

先点击小锁,输入密码解锁,然后点击设置图标按钮,选择应用到包含的项目,确定,点击小锁锁定。接下来可以run啦~
模拟器问题

如果出现这个问题就需要先打开你的模拟器,如果您是用的Genymotion,报错的话有可能是adb设置问题,解决如下图,路径选择您自己的sdk目录。

更新(rn版本:0.53.3)2018.3.6
报错如下:
刚遇到这个问题时一脸懵比,没有有效的报错信息可供参考。
于是,去检查了adb是可以用的,sdk路径也没有问题。
检查模拟器也是连接上了。
经过一番百度 and google并没有什么进展,尝试使用如下命令指定模拟器运行:
终于运行了起来,但是每次都要带参很麻烦。
想到会不会是打开构建文件没有权限导致的没有任何报错,于是在项目根目录执行以下代码:
chmod 755 android/gradlew
对于权限命令不理解的可以点这里
给到权限后执行react-native run-android,成功运行~
ps:修改权限后 android/gradlew 文件引起了一个问题(虽然文件内容没有变化,但是文件在git上是有变化可以上传的),在另一台window电脑上使用mac修改权限后的gradlew文件引发了如下错误:
可以进入项目android目录执行命令
gradlew clean,再回到项目根目录执行react-native run-android即可,相当于重新初始化了gradlew文件。
所以在mac上修改权限后的gradlew就不要上传git了。
如果大家有什么更好的办法,希望评论不吝赐教,十分感谢。
mac上配置react-native环境run-ios/run-android命令遇到的问题的更多相关文章
- react-native —— 在Mac上配置React Native Android开发环境排坑总结
配置React Native Android开发环境总结 1.卸载Android Studio,在终端(terminal)执行以下命令: rm -Rf /Applications/Android\ S ...
- 1、在MAC上搭建React Native开发环境
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 在MAC上搭建cordova3.4.0的IOS和android开发环境
Hello,大家好,今天给大家说说在mac上搭建cordova3.4.0的iOS和Android开发环境,首先下载cordova,地址:https://cordova.apache.org/#down ...
- React Native之(支持iOS与Android)自定义单选按钮(RadioGroup,RadioButton)
React Native之(支持iOS与Android)自定义单选按钮(RadioGroup,RadioButton) 一,需求与简单介绍 在开发项目时发现RN没有给提供RadioButton和Rad ...
- mac 上配置flutter开发环境
(ios,Android,Xcode,Android Studio,VScode,IDEA) 1)安装Flutter SDK 2)iOS 环境配置 3)Android Studio配置 4)VS co ...
- mac上配置php开发环境
玉忠之前在我的mac上配置过,当时项目不能区分大小写,所以就没成功,我现在在他得基础上继续配置,希望成功. 教程:http://my.oschina.net/joanfen/blog/171109 以 ...
- 在Mac上搭建React Native开发环境
概述 前面我们介绍过在window环境下开发React Native项目,今天说说怎么在mac上搭建一个RN的开发环境. 配置mac开发环境 基本环境安装 1.先安装Homebrew:用于安装Node ...
- [转] 在Mac上搭建React Native开发环境
原文链接: http://blog.csdn.net/xiangzhihong8/article/details/53914336 概述 前面我们介绍过在window环境下开发React Native ...
- React Native环境搭建(iOS、Mac)
http://reactnative.cn/docs/0.42/getting-started.html#content 1.安装Homebrew Homebrew, Mac系统的包管理器,用于安装N ...
- Mac 配置 React Native 环境
OSX系统,这里假定你是iOS开发人员 Homebrew 是需要的,只有安装了Homebrew才能继续安装watchman和flow 安装 Node.js 4.0 或者更新的版本. 使用 Homebr ...
随机推荐
- spring对bean的管理细节
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- BZOJ4314 倍数?倍数!
好神仙啊.... 题意 在$ [0,n) $中选$ k$个不同的数使和为$ n$的倍数 求方案数 $ n \leq 10^9, \ k \leq 10^3$ 题解 k可以放大到1e6的 先不考虑$ k ...
- AQS学习笔记之独占锁
作用 参与 共享锁 acquireShared() 和 独占锁 acquire() 的抢锁逻辑, 具体的抢锁逻辑不作实现,只对第一次抢锁未抢到锁线程做处理,第一次抢锁就抢到的线程就不需要遇到AQS了 ...
- PyCharm的使用教程
1.1 安装 首先去下载最新的pycharm ,进行安装.可以直接在官网下载. 1.2 首次使用 1,点击Create New Project. 2, 输入项目名.路径.选择python解释器.如果没 ...
- Ubuntu下使用Sublime Text 3配置Python开发环境
因为电脑配置有些低端,所以只能使用Sublime来当作Python的IDE. 1.下载Sublime Text 3并安装 首先去官网找到64位的.tar.bz2的压缩文件下载: 使用命令或归档管理器将 ...
- I/O多路复用之select、poll、epoll
很早之前有写过篇IO多路复用的文章:https://www.cnblogs.com/klcf0220/archive/2013/05/14/3077003.html 参考链接:https://segm ...
- ebe2
Email:kefu007@vip.qq.com 软件每天有更新.请用Ctrl+F键搜索您需要的软件..如果你找不到你需要的软件可以联系客户服务人员帮您找! 海拉之光LucidShape光学设计仿真分 ...
- 2小程序canvas使用,及一些坑,以及自己的一些小总结
自己做了一个小程序,主要用于给头像加图标的那种,和qq似的,主要用canvas做的, 第一回用,掉了很多坑,所以今天总结一下自己所做的,如果大家有不理解的地方,欢迎提问:如果帮到大家的话,帮忙点个啥的 ...
- Docker----搭建自己的gitlab(填坑之旅)
在成功完成docker的基础实验之后,尝试着使用docker搭建自己的gitlab,用来存放自己的代码.本文主要介绍使用docker搭建gitlab过程中遇到的问题,我的服务器系统是:Ubuntu S ...
- TypeError: can only concatenate str (not "int") to str解决方式
使用format函数解决问题 for page in range(1,pagebox+1): url = "https://www.dd373.com/s/rbg22w-x9kjbs-wwf ...