繁体   English   中英

gulp.watch-错误:观看null EMFILE

[英]gulp.watch - Error: watch null EMFILE

我最近在gulp.watch遇到各种错误,因此我建立了一个非常简单的测试项目。 对于为什么会出错我一无所知。 该项目包含5个文件:

  1. index.html
  2. package.json
  3. styles.css
  4. 无样式
  5. gulpfile.js

我只使用两个模块:

  1. 吞咽
  2. 少喝

到现在为止还挺好。 以下是gulpfile.js的内容:

var gulp = require('gulp');
var less = require('gulp-less');

gulp.task('default', function() {
  gulp.watch('styles.less', ['styles']);
});

gulp.task('styles', function() {
  return gulp.src('styles.less')
  .pipe(less())
  .pipe(gulp.dest(''));
});

我希望在终端中运行gulp将启动监视过程。 相反,它会产生以下错误(我正在逐行复制在终端中看到的内容):

[19:19:30] Using gulpfile ~/Projects/Sandbox/fred/gulpfile.js
[19:19:30] Starting 'default'...
2016-01-23 19:19 gulp[41595] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21)
[19:19:30] Finished 'default' after 7.91 ms
events.js:141
  throw er; // Unhandled 'error' event
  ^

Error: watch null EMFILE
  at exports._errnoException (util.js:856:11)
  at FSEvent.FSWatcher._handle.onchange (fs.js:1296:21)

我在其他项目中一直看到此错误,因此为了确保我不发疯,我整理了我想到的最简单的用例。 作为记录,以下是我正在运行的所有版本:

  • npm:3.5.3
  • 节点:5.4.1
  • 吞咽:
    • CLI版本:3.9.0
    • 本地版本:3.9.0
  • 少喝水:3.0.5

更新:我已经在github上的官方gulp仓库中创建了一个问题 尽我所能解决这个问题。

更新2:我使用Sublime文本编辑器。 打开太多窗口(即打开太多文件)将触发此问题。 当我关闭其中一些窗口时,此问题消失了。 我仍然找不到一致的“打开许多窗口/文件”的情况,因此,从我的角度来看,这仍然是个谜。

我对你也有同样的问题。 最后我发现实际的问题是,如果使用sublime .命令打开项目目录sublime . 在终端下,然后运行gulp,该gulp将导致错误。

因此,您可以先打开sublime应用程序,然后加载您的项目目录,最后在终端中启动gulp。 一切都会好起来的!

希望对你有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM