macOS系统如何通过Homebrew降级Watchman版本
macOS 平台 Homebrew 降级 Watchman 操作方案
你之前用源码替换法不生效,核心原因是没有清理Homebrew的软链接、后台服务缓存,按以下步骤操作即可完成降级:
1. 清理现有Watchman环境
先停掉后台运行的服务,再卸载当前版本,避免残留文件干扰:
watchman shutdown-server brew uninstall --force watchman
执行完可以手动检查下/usr/local/bin/watchman文件是否存在,存在就手动删除:
rm -f /usr/local/bin/watchman
2. 定位目标版本的Homebrew安装脚本
进入Homebrew核心源目录,拉取Watchman的所有历史版本提交记录:
cd $(brew --repository)/Library/Taps/homebrew/homebrew-core git pull git log --oneline Formula/watchman.rb
执行后会输出类似下面的提交列表,每一行开头的字符串就是commit哈希,找到你要降级的目标版本对应的哈希值复制下来:
c8a7f2134 watchman: update to 2022.07.04.00 b23d9f021 watchman: update to 2022.03.21.00 ......
搭配你当前使用的React Native 0.68.0版本,推荐选择2022.03.21.00版本,兼容性问题最少。
3. 安装指定历史版本
将安装脚本切换到目标版本对应的提交,执行安装:
# 把<COMMIT_HASH>替换成你上一步复制的目标版本commit哈希 git checkout <COMMIT_HASH> Formula/watchman.rb HOMEBREW_NO_AUTO_UPDATE=1 brew install watchman
安装完成后把formula文件切回主分支,避免影响其他软件的安装更新:
git checkout master Formula/watchman.rb
4. 锁定版本防止自动升级
执行以下命令锁定Watchman版本,后续执行brew upgrade时不会自动更新它:
brew pin watchman
5. 验证安装结果
重启终端后执行版本查询命令,确认降级成功:
watchman --version
输出版本号和你选择的目标版本一致即操作完成。
异常处理
- 如果版本显示还是不对,执行
brew unlink watchman && brew link watchman重建软链接后再验证 - 如果提示权限不足,在对应命令前加
sudo执行即可 - 如果git log找不到目标版本,先执行
brew tap --repair修复源缓存后重试
内容的提问来源于stack exchange,提问作者Reshmi Umapathy
相关产品推荐
相关产品推荐

