我正在学习GraphQL,并且在GraphQL操作中使用棱镜绑定。当我启动我的Node.js服务器时,我面临这个nodemon错误,它给了我一个由graphql-cli自动生成的模式文件的路径。这个错误是关于什么的?

错误:

Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/media/ rehans -sattar/Development/All projects/GrpahQl/graph-ql-course/graphql-prisma/src/generated


当前回答

当我在Ubuntu机器上使用Visual Studio Code时,有时会遇到这个问题。

在我的情况下,下面的解决方法会有所帮助:

停止监视器,关闭Visual Studio Code,启动监视器,然后再次打开Visual Studio Code。

其他回答

我认为这里给出的大多数答案都是正确的,但是使用systemctl命令重新启动我的服务解决了我的问题。检查下面的命令:

sudo systemctl restart systemd-sysctl.service

你应该遵循这样的答案:

cjs'

Or:

艾萨克·莫拉的

对于最新的Ubuntu版本,运行sudo sysctl——system重新读取这些设置。

然而,在我的情况下,我对这些配置文件的更改没有被选中,因为我已经在一段时间前调整了这些设置……然后就忘了。我把冲突的配置文件放在了错误的地方。

根据man sysctl。D,这些设置可以放在/etc/sysctl.d/*.conf、/run/sysctl.d/*.conf和/usr/lib/sysctl.d/*.conf中。

在我的例子中,我有两个文件:

/etc/sysctl.d/10-user-watches.conf
/usr/lib/sysctl.d/30-tracker.conf     <<< Older file, with lower limit

由于命名约定,我的旧文件是最后读取的,并具有优先级。

如果您使用的是Linux,那么您的项目将达到系统文件监视器的限制

要解决这个问题,请在您的终端上尝试:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

您需要增加系统用户的inotify监视者限制。你可以在命令行中使用:

sudo sysctl -w fs.inotify.max_user_watches=100000

不过,这种情况只会持续到重新启动为止。要使其永久存在,添加一个名为/etc/sysctl.d/10-user-watch .conf的文件,包含以下内容:

fs.inotify.max_user_watches = 100000

在进行上述(或任何其他)更改之后,您可以使用sudo sysctl——system从/etc中的所有sysctl配置文件中重新加载设置。(在旧系统上,您可能需要使用sudo sysctl -p来代替。)

这是Linux内核中inotify (inode notify)的问题,可以通过下面的命令来解决:

对于临时解决方案,直到重新启动pc,使用以下命令 Sudo sysctl -w fs.inotify.max_user_watches=100000 一个永久的解决方案:为了使这个问题永久存在,添加一个名为/etc/sysctl.d/10-user-watch .conf的文件,包含以下内容: fs.inotify。Max_user_watches = 10000

在进行更改之后,使用sudo sysctl -p重新加载/etc目录下所有sysctl配置文件中的设置。