问题

话说上次玩 React-Native 还是好久以前的事情的,都不记得当时的版本号是多少了。最近,由于工作的原因又想着通过重构公司 APP 项目学习新的东西,这不就又开始倒腾了起来。

基础的环境是之前琢磨了好久才搭起来的,现在只需要升级一些 react-native-cli 的版本就行了,然后轻轻松松就初始化了一个比较完美的项目。原本以为直接 run-ios 或者 run-android 就能够顺顺利利的跑起来,结果啪啪啪打脸了。

877439-1be24e2bedce1fab.png

就想问这是个啥?

解决

出师未捷身先死呀!一跑就是报错,更要命的是在刚进门的时候就被拦在门外了。

根据 ‘No bundle url present’ 关键字百度一波。哇喔,好多盆友遇到过这个问题呀。[激动]
WX20190309-150052@2x.png

幸好有这么多,我的问题还可以抢救一波。那就一个个点开来试试呗!

第一击

可能是依赖包的问题,那就删除 node_modules 文件夹,重新 install 吧!等了一会,然后满怀激动的心情 run ,结果还是一样的画面,一样的报错。

第二击

有人说是 IOS 功能目录下的 build 目录的问题(可能是 run 时,生成的包文件错误),要删除后,重新 run。鸭,结果还是一样的画面,一样的报错。

第三击

难道是 hosts 的问题?听说 hosts 要配置 127.0.0.1 localhost,我的机器上这个配置难道不是几千年前就配置了吗?PASS!

第四击

还有说要重启模拟器的。额,说不定有缓存呢?或是模拟器抽风呢?重启试试呗!结果还是一样的画面,一样的报错。

第五击

啊,不知不觉已经说了四个方案了呀!上面的四个方案已经覆盖了网上的 80% 了。那去官网文档看看吧,英文又看不懂,那就去中文网站吧,哈哈!

WX20190309-151632@2x.png

惊喜一直都在,哈哈!赶紧对比着看看,去看看 React-Native 的版本吧。惹,0.58.6 了,那会不会是这个问题呢?

不慌,先进国内下载链接看看吧!
WX20190309-152157@2x.png

如果真的是按文档的说:是因为最新的编译包下载不下来而导致项目 run 不起来,那肯定就是这个 ~/.rncache 目录下没有东西呗,或者压根就没有这个目录。走,看看去!

去 ~/.rncache 目录看看,发现里面的东西还不少。

WX20190309-152738@2x.png
这些个编译的文件都有,就是有重复的,只是版本不一样而已。那是不是这个重复的包文件导致的问题呢?核对版本信息,然后删除低版本的文件。run 一下试试,没有丝毫问题,修改一下代码,APP 运行的很丝滑!

总结

又一个坑爬完了,还很舒服!其实导致问题的根源很简单,就是因为版本升级,工程依赖的包文件也会有对应的升级,另外加上没有仔细看文档,其实文档都会对这种重要的升级给出记录!

还是那句话,遇到问题并不可怕,要懂得从各方面去观察问题的所在,利用各种工具搜索问题的解决办法,