我有一个问题与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

当前回答

尝试了上面建议的大部分方法。最后,删除node_modules目录帮助了我。

所以我认为有效的方法是:

fs.inotify回响。Max_user_watches =524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p Sudo sysctl—system Rm -r /tmp* (!!确保这不会破坏你的任何东西) Rm -r node_modules 重新启动系统

其他回答

如果在尝试运行ember server命令时遇到此错误,请rm -rf tmp目录。然后再运行烬。它帮助了我。

就我而言,我是这样做的

yarn cache clean

npm cache verify

rm -rf node_modules/

yarn install

如果你使用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是监视文件的最大值。虽然你可以看任何文件,但也建议只看这个限制。

ENOSPC意味着驱动器上没有空间了。

也许/tmp已满?你可以通过设置npm config set tmp /path/to/some/other/dir来配置npm使用一个不同的temp文件夹,或者删除/tmp文件夹中的所有内容。

来源:npm 1.1.21不能写入,ENOSPC在npm的回购在github。

注意,我解决我的问题的方式,在上面的来源描述。然而,请参阅Murali Krishna的回答,这是更全面的。

如果linux文件系统上的/tmp挂载是作为溢出挂载的(通常大小为1MB),这可能是由于您没有指定/tmp作为自己的分区,您的根文件系统被填满,/tmp被重新挂载作为备用。

要解决这个问题,在你清理空间后,只需卸载备份,它应该重新安装在它原来的位置:

sudo umount overflow