我有一个问题与Node.js和上传文件到服务器。为了上传文件到服务器,我使用这个插件。当开始向服务器上传文件时,Node.js进程崩溃并显示错误:

错误:ENOSPC。

服务器代码无法运行。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.9G  4.1G  3.5G  55% /
udev            288M  8.0K  288M   1% /dev
tmpfs           119M  168K  118M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            296M     0  296M   0% /run/shm
/dev/xvdf       9.9G  3.0G  6.5G  32% /vol
overflow        1.0M  1.0M     0 100% /tmp

当前回答

在Ubuntu 18.04上,我尝试了一个通过ionic/node重新激活文件监视的技巧,它在这里也有效。这对于那些无法访问系统配置文件的人来说可能很有用。

CHOKIDAR_USEPOLLING=1 npm start

其他回答

解决我问题的一个简单方法是:

npm cache clear

NPM或者由它控制的进程正在监视太多的文件。更新构建节点上的max_user_watches可以永远修复它。对于debian,在终端上放以下命令:

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

如果你想知道如何增加inotify观察者的数量,只需要点击链接。

我解决了杀死所有跟踪控制进程的问题(如果您使用GDM,您可以尝试,如果脚本运行在服务器上,显然不是您的情况)

tracker-control -r

我的设置:使用GNOME 3进行Arch

我也犯了同样的错误。当我运行Reactjs应用程序时。我所做的只是删除node_modules文件夹,并再次键入并安装node_modules。这样可以消除错误。

这不是功劳,但是@grenade指出npm重复数据删除将修复原因(文件太多),而不是症状。

来源:咕哝手表错误-等待…致命错误:手表ENOSPC。

如果你使用VS Code,那么它应该无法在大的工作区错误。

"Visual Studio Code is unable to watch for file changes in this large workspace" (error ENOSPC)

这表明VS Code文件监控器正在耗尽句柄,因为工作区很大,包含很多文件。可以通过运行以下命令查看当前限制:

cat /proc/sys/fs/inotify/max_user_watches

可以通过编辑/etc/sysctl.conf并在文件末尾添加以下行来增加限制:

fs.inotify.max_user_watches=524288

然后可以通过运行sudo sysctl -p来加载新值。 注意:524288是监视文件的最大值。虽然你可以看任何文件,但也建议只看这个限制。