node.js – 在Windows 7中打开太多文件(EMFILE错误)

我使用Node.js(0.10.31)和Gulp(3.8.8)来自动执行 Windows 7中的某些任务,但我遇到了以下错误

events.js:72
    throw er; // Unhandled 'error' event
          ^
Error: EMFILE,open 'c:\myproject\package.json'

我已经将项目移动到Ubuntu并使用ulimit -n命令修复它,但仍然对如何在Windows中解决它感到好奇.

现在,首先我想知道是否有任何限制阻止在Windows 7中打开更多导致EMFILE错误文件/套接字?

其次,如果是,我该如何改变这种限制?

解决方法

VSC运行时内部存在限制.应用程序只能通过运行时打开512个文件描述符,但如果应用程序调用_setmaxstdio(我认为节点没有),则值可以增加到2048. (这是一个有点简化的解释,有关详细信息,请参阅 here.)您无法直接更改此限制(如果您希望节点以某种方式为您调用函数,则只能提高512到2048).

但是你写的是你使用的节点v0.10.31很老了.据我所知(虽然我不是100%肯定的),节点同时从使用文件I / O的VSC运行时切换到没有此限制的本机WinAPI调用,因此您可以尝试最新的节点版本,如果这是你的选择.

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...