Node.JS错误:ENOSPC
我有一个node.js和上传文件到服务器的问题。 上传文件到服务器我使用这个插件 。 当开始file upload到服务器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
ENOSPC
意味着驱动器上没有空间。
也许/tmp
已满? 您可以通过设置npm config set tmp /path/to/some/other/dir
来configurationnpm
以使用不同的临时文件夹,或者可以从/tmp
文件夹中删除所有内容。
资料来源: npm 1.1.21不能写,ENOSPC在npm的github中的回购。
注意我以上述源代码的方式解决了我的问题。 但是,请参阅下面的Murali Krishna的答案 ,这是更全面的。
运行以下命令以避免ENOSPC:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
对于Arch Linux,将此行添加到/etc/sysctl.d/99-sysctl.conf
:
fs.inotify.max_user_watches=524288
然后执行:
sysctl --system
这也将在重启之后持续存在。
https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers#the-technical-details
不能相信这一点,但@grenade指出, npm dedupe
将修复原因(太多的文件),而不是症状。
来源: Grunt手表错误 – 正在等待…致命错误:观看ENOSPC 。
我解决了我的问题,杀死所有的跟踪器控制过程(如果你使用GDM,你可以尝试,如果脚本在服务器上运行,显然不是你的情况)
tracker-control -r
我的设置:与GNOME 3 Arch
如果在Linux文件系统上的/tmp
挂载被挂载为溢出(通常大小为1MB),这可能是由于您没有将/tmp
指定为自己的分区,并且根文件系统已满并且/tmp
被重新挂载为备用文件系统。
为了解决这个问题,清除空间后,只需卸载回退,它应该重新安装在原来的位置:
sudo umount overflow
对于我来说,我已经达到了用户可以拥有的最大数量的文件
用quota -s
检查你的号码,文件下面的号码不要太接近配额
如果在尝试运行ember server
命令时遇到此错误,请使用rm -rf tmp
目录。 然后再运行ember s
。 它帮助了我。
重新启动机器解决了我的问题。 我第一次尝试擦/tmp/
节点仍然抱怨。
在我的情况下,在Linux上,sudoing修复了这个问题。
例:
sudo gulp dev