今天在配置RN环境,历经五六个小时的奋斗截至目前,终于成功运行了,按照惯例,总结汇总一下这一路走过来的坑和注意事项。
环境配置
这是基础,也是最重要的一步。这个不要胡乱去看别人的博客,老老实实的看官方的说明文档,一步一个坑,跳进去再爬出来。
中文版本:
http://reactnative.cn/docs/0.41/getting-started.html#content
英文版本:
http://facebook.github.io/react-native/docs/getting-started.html
按照上面介绍的步骤,一步一步来安装。其中中文经过整理,里面的那些必须要安装,那些可以不用安装都作了说明,还是很不错的。
我前面几个步骤是按照英文来进行的:
brew install node
brew install watchman
没毛病,系统很开心的告诉我成功了,接下来开始安装React Native CLI。
这个时候我贱贱的去看了中文的手册,
想着人家都很有好的建议设置镜像了,方法什么的也都说了,不设置是不是对不起人家,就吧唧吧唧的执行了这两个命令,然后第一个坑就在前面等着我了。
开始执行
npm install-g react-native-cli
妥妥的告诉我解析不了“react-native-cli”(错误已经过去了,当时也删除了,电脑重启了一下,无法放出截图了),我一看知道这个是加载不了远程文件,第一反应,靠不应该啊,我能上网呀,而且这个文件远程应该存在的,要不然这么大一个网站放一个不存在的文件那的耽误多少人的事情(不存在应该会提示文件不存在),然后就为这个问题来回折腾,会不会是NPM不对?网上看到删了重装,咱也是一个敢想敢干的人,吧唧执行uninstall删了,重装,完了装哪了,为什么NPM命令找不到了,一路搜,一路找,原来他没有装在
/usr/local/lib/node_modules
同时/usr/local/bin/npm也不存在,所以就没有该命令,当然我也很茫然不知道怎么出现了这种情况,但是这么也不是一个办法呀,再删!!!顺手把note也删了,重新按照英文的文档来安装,但是在安装react-native-cli还是报错。上午的时候问旁边的同事,他说他也是按照这个流程走的没遇到这种情况,一切都很顺利呀~ 我就又开始了我的纠结之旅。
下午吃完饭,我同事说他的也不行了,然后看了镜像地址,和我说会不会公司网把taobao字样的域名屏蔽了,wtf,作为一个新人谁告诉我公司针对这些网站做了屏蔽。SO又重新设置了镜像
npm config set registryhttp://registry.cnpmjs.org
妥妥的,可以了!!!
安装运行
作为一个资深的android工程师,Android环境肯定已经安装了,所以开始init工程
react-nativeinit AwesomeProject
妥妥的没有问题,继续到该工程下,开始进行运行,编译失败,提示
哦,这个简单,ANDROID_HOME没有配置,按照说明配置了一下
经过source ~/.profile让起生效,再次编辑安装,仍然提示该错误。这个时候想起一句话“重启可以解决很多无法解释的问题”,重启、上个厕所,果然,可以了,看到完成的apk的时候,内心满满的是幸福哈。
作为一个有钱的大公司的员工,早就告别了使用虚拟机的时代,直接真机上手。运行看到血红血红的界面,连不上服务器,然后听同事说你摇一摇试试,摇一摇出现了设置界面,好神奇的功能,选择
Debug server host for device
然后设置电脑的IP和端口(8081),然后重新reload,看到了喜人的
Welcome to React Native
摇一摇手机后,选择开始热更新,然后在每一次写完代码执行保存命令后,它会自动的更新到手机上。
我使用的是WebStorm进行代码开发的(网上有破解方法),它会自动保存代码,每一次按下command+s后,手机会自动加载代码。
ps:感觉开始热更新后,他有一个定时加载的机制,有时候代码写一半没有保存手机上就自动同步了。同时就算开始了热更新,或者reload,有时候也会有不及时现象,这个时候可能需要重新编译运行一下,记住:重启能够解决大部分科学无法解释的事情。