Watchman爬取失败重试后报错,权限不匹配等问题如何解决?
解决Watchman爬取失败的UID权限不匹配问题
嘿,我刚处理过和你完全一样的报错!咱们先把问题拆明白:你现在是以root用户(EUID 0)在运行相关命令,但Watchman的状态文件/usr/local/var/run/watchman/root-state属于UID 501的普通用户,权限不匹配直接导致了这个失败提示。
下面给你几个靠谱的解决办法,按优先级排序:
1. 优先切换回普通用户运行
Watchman官方其实不推荐用root用户操作,最简单的办法就是切换到UID为501的那个普通用户,再重新执行你的命令。比如用su - your_username(把your_username换成实际的用户名)切换后再试,大概率直接解决问题。
2. 若必须用root用户运行
如果因为某些场景必须用root,那咱们调整Watchman状态文件的权限:
- 先停止Watchman服务:
watchman shutdown-server - 更改状态目录的所有者为root:
sudo chown -R root:root /usr/local/var/run/watchman/ - 重新启动Watchman并监听你的项目:
watchman watch-project /path/to/your/project
关于系统提示的其他方法说明
系统提到的「创建空.watchmanconfig文件」或「初始化git/hg仓库」,是针对Watchman未运行的场景,但你的问题核心是权限不匹配,所以这些方法对你当前的报错没用,不用浪费时间试啦。
内容的提问来源于stack exchange,提问作者Mandar Belkunde
相关产品推荐
相关产品推荐

