前言

😖 近期在调试这个react-native相关项目的时候,由于系统进行了升级,意味着所有的环境都的重来,而且像react-native这框架,对环境特别的敏感,花了接近3天的时间,来折腾这个环境的重建,编写此文档,以便于后续其他人避免重复踩这样的雷

brew的坑

首先,在macOS上的这个brew的源的管理,就算是拥有梯子来上网,估计也是心理一直在念F开头的单词吧,因此,我这边重新安装了完整的源,并设置了国内的源地址!

1、卸载原来的brew

1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

🌠 期间可能需要输入密码,并同时忽略可能出现的warning,直到最后卸载成功!

2、安装新的源

1
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

🌠 在提供的选项中选择这个“清华国内源”,感觉目前也就这个在国内可以使用了!

3、配置生效

1
source /Users/<本机用户名>/.bash_profile

整个过程安装非常舒服,没有一点点的等待!安装成功后,可直接查看已安装的版本
查看安装后的brew版本

watchman升级伤不起

👽 安装过程后,发现原有的react-native项目居然运行了没有一点反应,官网也是没有具体明说,因此,在经过了疯狂的度娘以及谷哥之后,最后猜测会不会就是这个watchman的版本导致,因此当我执行react-native run的时候,一切都静静地,👉 这里感觉就好像是卡住了一样,但又没有任何的提示,在经过了漫长的react-native源码调试后,猜测可能是这个watchman的版本导致,因此输入了react-native doctor,让他来检测当前我的一个环境情况:
react-native的doctor命令查看异常信息

😕 然后发现自己目前安装的就是最新的watchman版本,然后对比了一下同事的watchman版本,居然还停留在很久的4.9.0版本,然后结合这个信息,再继续在搜索结果,果然,也有童鞋遇到过这样子的问题! 👉 那么解决的方案就很清晰了,就是将这个watchman的版本给降到v4.9.0版本的即可!

👾 原本以为方案就是这么的简单,就准备来着手干了,然后发现,居然目前的brew无法安装到4.9.0版本的watch,在经过漫长的尝试后,终于成功安装到旧版本的watchman,这里记录一下,方便以后可以随意的降级安装对应的macOS软件

1、执行命令,查看watchman源信息

1
brew info watchman

brew_info查看软件的源信息

2、copy上述的软件源地址信息,并检出

1
git clone https://github.com/Homebrew/homebrew-core

3、查找这个watchman.rb文件,找到这个文件的提交历史

查找修改历史
通过该历史修改连接查找到对应版本的修改记录!

4、切换到对应的commit版本记录

1
git checkout 1f6402dc70b1d056fffc3748f2fdcecff730d8843bb6936de395b3443ce05322

5、执行安装动作

1
arch -x86_64 brew install /相关路径/watchman.rb 

查看当前的watchman版本

一切重归于好

再次运行命令:react-native start
运行start
同时在浏览器中访问生成的bundlejs相关文件:访问bundleJS
在浏览器中访问bundleJS文件