自从最近更新 Watchman(使用 Homebrew)以来,我无法再使用它来观看项目。我明白了
{
"version": "2022.05.30.00",
"error": "std::__1::system_error: open: /Users/Path/To/Project: Operation not permitted"
}
Run Code Online (Sandbox Code Playgroud)
我最初认为这一定是我可以通过正常方式解决的文件访问问题,但让监视程序应用程序访问文件和文件夹并不能解决问题(即使终止所有监视程序进程并重新启动终端)。
为了更好地衡量,我还手动将 watchman 可执行文件添加到全磁盘访问(这是我以前从未需要做的事情,而且对此感到不舒服),但这也没有效果。
我还终止了我能想到的所有相关进程,甚至重新启动了两次。据我所知,自 Watchman 工作以来唯一的brew update watchman
变化是我的跑步(当然我也卸载并重新安装)。
一个问题是,由于某种原因,我在系统偏好设置中有多个看守条目,这奇怪地导致需要数十次尝试才能将它们全部进入检查状态以进行访问:
我如何向 Watchman 授予克服此错误所需的权限?
我使用Linux Mint 17'Quiana',我想安装Watchman以便以后使用Ember.js.这是我的步骤:
$ git clone https://github.com/facebook/watchman.git
Run Code Online (Sandbox Code Playgroud)
然后
$ cd watchman
$ ./autogen.sh
$ ./configure.sh
Run Code Online (Sandbox Code Playgroud)
并且,当我运行make
编译文件时,它返回以下错误:
pywatchman/bser.c:31:20: fatal error: Python.h: no such file or directory
#include <Python.h>
^
compilation terminated.
error: command 'i686-linux-gnu-gcc' failed with exit status 1
make[1]: *** [py-build] Error 1
make[1]: Leaving the directory `/home/alex/watchman'
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)
我试着跑
$ sudo apt-get install python3-dev
Run Code Online (Sandbox Code Playgroud)
但它似乎已经存在于我的系统中.我做错了什么?
我正在尝试将Watchman安装到我的计算机上以获取Npm for React Native.我打开了文档http://facebook.github.io/watchman/docs/install.html,无法理解应该如何完成.
你能详细解释一下吗?
我已经设置了一个新的空白反应本机应用程序。
安装几个节点模块后,出现此错误。
我知道这与看守人没有足够的空间来监视所有文件更改有关。
我想知道什么是最好的行动方案?
我应该node_modules
通过将其添加到文件夹来忽略它.watchmanconfig
吗?
我从github链接https://github.com/facebook/watchman.git得到了守望者,然后我得到了watchman文件夹并尝试了这个
./autogen.sh
./autogen.sh: 9: ./autogen.sh: aclocal: not found
./autogen.sh: 10: ./autogen.sh: autoheader: not found
./autogen.sh: 11: ./autogen.sh: automake: not found
./autogen.sh: 12: ./autogen.sh: autoconf: not found
Run Code Online (Sandbox Code Playgroud)
为什么?我有python 2.7.9
.
这可能是原因吗?(我用ubuntu 15.04
btw)
当我安装守望者使用时brew install watchman
,它得到了这个Error: You must brew link pcre before watchman can be installed
.所以我尽量brew link pcre
和brew link --overwrite pcre
我刚刚得到
linking /usr/local/Cellar/pcre/8.36...
Error: Could not symlink share/man/man3/pcre.3
/usr/local/share/man/man3 is not writable.
有人可以帮忙吗?
我尝试在 Ubuntu 20.04.01 上安装 watchman:
guettli@yoga15:~/tmp$ python3 -m venv pywatchman-test
guettli@yoga15:~/tmp$ cd pywatchman-test
guettli@yoga15:~/tmp/pywatchman-test$ . bin/activate
(pywatchman-test) guettli@yoga15:~/tmp/pywatchman-test$ pip install pywatchman
Run Code Online (Sandbox Code Playgroud)
失败:
Collecting pywatchman
Using cached pywatchman-1.4.1.tar.gz (29 kB)
Building wheels for collected packages: pywatchman
Building wheel for pywatchman (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/guettli/tmp/pywatchman-test/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-on_zbadt/pywatchman/setup.py'"'"'; __file__='"'"'/tmp/pip-install-on_zbadt/pywatchman/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-9np2rv_b
cwd: /tmp/pip-install-on_zbadt/pywatchman/
Complete output (6 lines):
usage: setup.py [global_opts] cmd1 …
Run Code Online (Sandbox Code Playgroud) 任何人都可以清楚地描述在npm库中使用守望者的用途吗?
----我发现的细节---
npm - npm是最大的NodeJS包管理器
NodeJS - 服务器端Javascript运行时
Watchman - 简单实用程序,用于监视文件/目录以进行更改,并在更改时执行操作(这对我来说不清楚/它有什么用处?/有什么示例吗?)
warning: Watchman `watch-project` returned a warning: Recrawled this watch 11 times, most recently because:
MustScanSubDirs UserDroppedTo resolve, please review the information on
https://facebook.github.io/watchman/docs/troubleshooting.html#recrawl
To clear this warning, run:
`watchman watch-del '/path/to/my/project' ; watchman watch-project '/path/to/my/project'`
Run Code Online (Sandbox Code Playgroud)
启动 Metro 时(例如),我不断收到此警告react-native start
。
我知道这个问题之前已经被问过,共识是运行以下命令(正如警告所暗示的那样):
watchman watch-del '/path/to/my/project' ;
watchman watch-project '/path/to/my/project'
Run Code Online (Sandbox Code Playgroud)
此命令确实会使它暂时消失,但它会在几个小时/第二天再次出现。所以它从来都不是一个解决方案,只是一个解决方法。我使用的是 macOS 13.4,并且还提供了 watchman 完整磁盘访问权限,但这也没有改变任何内容。另外,即使它有效,从安全角度来看,给予命令行工具完整的磁盘访问权限(而它只应该访问文档中的我的项目目录)也感觉不正确。
我在使用 React Native 时还需要守望者,因此简单地删除它也不是一个选择(其中一个问题将其作为“答案”,因此提及)。
为什么这种情况已经发生了很多年,我怎样才能永久摆脱这个警告?
我刚刚在运行 React Native 的 Metro 时发现了一个错误,它是在升级操作系统后出现的
错误是
jest-haste-map: Watchman crawl failed. Retrying once with node crawler.
Usually this happens when watchman isn't running. Create an empty `.watchmanconfig` file in your project's root folder or initialize a git or hg repository in your project.
Error: Watchman error: std::__1::system_error: open: /Users/dongjae/Desktop/wellCupOfficial/wellcupOfficial/wellcupApp: Operation not permitted. Make sure watchman is running for this project. See https://facebook.github.io/watchman/docs/troubleshooting.
/Users/dongjae/Desktop/wellCupOfficial/wellcupOfficial/wellcupApp/node_modules/metro-hermes-compiler/src/emhermesc.js:77
throw ex;
Run Code Online (Sandbox Code Playgroud)
在谷歌搜索并尝试了 3 小时的一些解决方案之后?我发现我必须将“watchman”添加到“安全和隐私”下的“完整磁盘访问”
我还发现 watchman 位于 dir opt/local/bin/watchman 但是,最大的问题是我找不到访问此文件夹的方法,我什至无法在选择窗口中看到此文件夹请帮助这个可怜的开发人员。 。
watchman ×10
react-native ×6
python ×3
node.js ×2
facebook ×1
homebrew ×1
installation ×1
linux ×1
macos ×1
npm ×1
python-wheel ×1
reactjs ×1