守望者抓取失败。使用节点爬虫重试一次。这通常发生在守望者不运行时。在项目的根文件夹中创建一个空
.watchmanconfig
文件,或者在项目中初始化一个 git 或 hg 存储库。错误:watchman --no-pretty get-sockname 返回,退出代码=1,信号=null,stderr= 2018-03-23T11:33:13,360: [0x7fff9755f3c0] /usr/local/var/run/watchman 的所有者/root-state 是 uid 501,与您的 euid 0 不匹配
7 回答
您以 root 身份运行 watchman,但状态目录(可能包含触发器定义并因此允许生成任意命令)不属于 root。这是一个安全问题,因此守望者拒绝启动。
解决此问题的最安全方法是通过运行以下命令删除状态目录:
rm -rf /usr/local/var/run/watchman/root-state
我建议您避免运行希望使用 watchman 的工具,sudo
以避免再次发生这种情况。
正如上面 Jodie 所建议的那样,我尝试了下面的方法并且效果很好,为了其他人提到我在我的 mac 中尝试解决此问题的以下步骤
- 首先,杀死所有正在运行的服务器并关闭您的终端。
- 转到“系统偏好设置”->“安全和隐私”-> 隐私选项卡
- 向下滚动并单击“全盘访问”
- 确保您检查了“终端”和“守望者”。
- 现在重新启动终端并尝试再次运行它就可以了!
我对此有一个真正的问题,但最终找到了答案。
https://github.com/facebook/watchman/issues/751#issuecomment-542300670
整个论坛有多种不同的解决方案,我实际上没有尝试过,但这个解决方案对我有用!希望这可以帮助。
使用 sudo 命令运行 watchman。
sudo npm run test
出现此问题是因为您可能以 root 身份运行 watchman。
我通过在终端上使用以下命令在 linux 上解决了这个问题。
$ echo 256 | sudo tee -a /proc/sys/fs/inotify/max_user_instances
$ echo 32768 | sudo tee -a /proc/sys/fs/inotify/max_queued_events
$ echo 65536 | sudo tee -a /proc/sys/fs/inotify/max_user_watches
$ pkill node
然后:
$ npm start
或者
$ expo start (if you are using expo)
@jaishankar 的帖子对我有用.. thakns Jai... 首先,杀死所有正在运行的服务器并关闭您的终端。转到“系统偏好设置”->“安全和隐私”-> 隐私选项卡向下滚动并单击“全盘访问”确保选中“终端”和“守望者”。现在重新启动终端并尝试再次运行它就可以了!
第1步:$ npm cache clean --force
第 2 步:删除node_modules: $ rm -rf node_modules
第 3 步:npm install
第4步?(可选):yarn start
/npm start
这对我有用。希望它也对你有用。