11

守望者抓取失败。使用节点爬虫重试一次。这通常发生在守望者不运行时。在项目的根文件夹中创建一个空.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 不匹配

4

7 回答 7

17

您以 root 身份运行 watchman,但状态目录(可能包含触发器定义并因此允许生成任意命令)不属于 root。这是一个安全问题,因此守望者拒绝启动。

解决此问题的最安全方法是通过运行以下命令删除状态目录:

rm -rf /usr/local/var/run/watchman/root-state

我建议您避免运行希望使用 watchman 的工具,sudo以避免再次发生这种情况。

于 2018-03-25T03:36:07.003 回答
5

正如上面 Jodie 所建议的那样,我尝试了下面的方法并且效果很好,为了其他人提到我在我的 mac 中尝试解决此问题的以下步骤

  1. 首先,杀死所有正在运行的服务器并关闭您的终端。
  2. 转到“系统偏好设置”->“安全和隐私”-> 隐私选项卡
  3. 向下滚动并单击“全盘访问”
  4. 确保您检查了“终端”和“守望者”。
  5. 现在重新启动终端并尝试再次运行它就可以了!
于 2020-10-13T04:17:06.377 回答
3

我对此有一个真正的问题,但最终找到了答案。

这是帮助我的帖子的屏幕截图。

https://github.com/facebook/watchman/issues/751#issuecomment-542300670

整个论坛有多种不同的解决方案,我实际上没有尝试过,但这个解决方案对我有用!希望这可以帮助。

于 2020-03-02T11:15:38.783 回答
2

使用 sudo 命令运行 watchman。

sudo npm run test

出现此问题是因为您可能以 root 身份运行 watchman。

于 2019-07-06T14:29:49.353 回答
2

我通过在终端上使用以下命令在 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)
于 2020-08-06T15:21:07.773 回答
1

@jaishankar 的帖子对我有用.. thakns Jai... 首先,杀死所有正在运行的服务器并关闭您的终端。转到“系统偏好设置”->“安全和隐私”-> 隐私选项卡向下滚动并单击“全盘访问”确保选中“终端”和“守望者”。现在重新启动终端并尝试再次运行它就可以了!

于 2021-04-21T10:54:01.680 回答
0

第1步:$ npm cache clean --force

第 2 步:删除node_modules$ rm -rf node_modules

第 3 步:npm install

第4步?(可选):yarn start/npm start

这对我有用。希望它也对你有用。

于 2021-10-09T12:11:43.543 回答