Rah*_*man 8 windows windows-7 node.js gulp
我使用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'
Run Code Online (Sandbox Code Playgroud)
我已经将项目移动到Ubuntu并使用ulimit -n命令修复它,但仍然很好奇如何在Windows中解决它.
现在,首先我想知道是否有任何限制阻止在Windows 7中打开更多文件/套接字导致EMFILE error与否?
其次,如果是,我该如何改变这种限制?
VSC++ 运行时内部存在限制。应用程序只能通过运行时打开 512 个文件描述符,尽管如果应用程序调用该值可以增加到 2048 _setmaxstdio(我认为节点不会)。(这是一个稍微简化的解释,更多详细信息请参见此处。)您无法直接更改此限制(如果您想让节点以某种方式为您调用此函数,则只能将 512 提高到 2048)。
然而,您写道您正在使用节点 v0.10.31,它已经很旧了。据我所知(尽管我对此不是 100% 确定),节点同时从使用 VSC++ 运行时进行文件 I/O 切换到没有此限制的本机 WinAPI 调用,因此您可以尝试最新的节点版本(如果您可以选择)。
| 归档时间: |
|
| 查看次数: |
1667 次 |
| 最近记录: |