brew install watchman 各种失败折腾

万恶原由

在执行某个项目过程中,提示需要卸载 watchman 然后再安装上最新版本。
但是在卸载成功之后通过 brew 再也装不上了。

报错详情
1
2
3
4
5
6
7
8
9
10
Error: Could not link:
/usr/local/share/doc/homebrew
Please delete these paths and run `brew update`.
==> Installing dependencies for watchman: openssl, readline, sqlite, python@2, pcre
==> Installing watchman dependency: openssl
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2o_2.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring openssl-1.0.2o_2.high_sierra.bottle.tar.gz
Error: Permission denied @ unlink_internal - /usr/local/opt/openssl

提示的是请删除这些路径并更新 brew ,但是“these paths”指的是哪些内容,完全没看到。

尝试解决

根据最后的报错提示是由于权限不够,所以查了一圈尝试了sudo chown -R $(whoami):admin /usr/local,结果还是提示报错:chown: /usr/local: Operation not permitted,还是权限问题。

最后继续尝试 brew install watchman,这次报错提示出现了所谓的“these paths”,按照提示列表逐个删除。
例如: rm -rf /usr/local/etc/bash_completion.d/brew
最后再尝试brew update。意外的成功了。
保险起见执行更新watchman试一试: brew upgrade watchman
返回了: Error: watchman 4.9.0 already installed,舒服了😄。


参考:

官网多个安装方式:https://facebook.github.io/watchman/docs/install.html