最近试着build了一个react native的android项目,血压嗯高,踩了一堆一堆的坑,得出结论,node_moudles就是一坨💩
react native是依赖于node构建的跨平台移动端框架,本质上感觉就是一个web,所以它也有node的通病,屎一样的node_moudles。。。。我参考了这几篇教程配置的环境,直接贴在下面我就不单独写了(毕竟人家的肯定比我专业一点),按教程来一点点安装即可
官方中文文档
知乎大神教程
node_moudles内部某些库的依赖冲突的时候会报错,很难解决,,,最好的解决办法是换yarn去自动处理这些问题 更新:之后又遇到了各种个样的问题,最简单粗暴且有效的办法:
rm -rf node_moudles/ yarn install
重装node_moudles解决90%的问题(
因为build react native 是在terminal环境下的,所以需要配置bash_profile环境变量文件,但是每次启动terminal都需要source ./bash_profile,关闭terminal以后就会失效,所以就很难受 解决办法: 在bash_profile目录下,编写zshrc文件,内容如下
shellif [ -f ~/.bash_profile ]; then source ~/.bash_profile fi ~
这些脚本的意义在于,每次启动terminal的时候会自动装载路径下的bash_profile文件,就不需要手动配置环境变量了 保存脚本后运行:
source ~./.zshrc
老生常谈的问题了,,,,换镜像并改用yarn就好
不得不说,gradle的版本兼容问题一直是历史大坑,当出现这样的报错时,就大概是Java版本和gradle不兼容的问题了:
shellBUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version
这个时候就要看看gradle版本对应哪个Java版本,我因为本地电脑系统里的Java版本是18、13、8,而项目gradle要11.。。。所以找了大半天切换一下Java版本为11就解决了这个问题,然后yarn react-native run-android就可以正常build了
本文作者:伞菌
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!