如何在降级watchman
前言
😖 近期在调试这个
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 |
整个过程安装非常舒服,没有一点点的等待!安装成功后,可直接查看已安装的版本
watchman升级伤不起
👽 安装过程后,发现原有的
react-native
项目居然运行了没有一点反应,官网也是没有具体明说,因此,在经过了疯狂的度娘以及谷哥之后,最后猜测会不会就是这个watchman
的版本导致,因此当我执行react-native run
的时候,一切都静静地,👉 这里感觉就好像是卡住了一样,但又没有任何的提示,在经过了漫长的react-native
源码调试后,猜测可能是这个watchman
的版本导致,因此输入了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 |
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 |
一切重归于好
再次运行命令:react-native start
同时在浏览器中访问生成的bundlejs相关文件:访问bundleJS