【问题标题】:gulp.watch - Error: watch null EMFILEgulp.watch - 错误:观看 null EMFILE
【发布时间】:2016-01-24 00:37:26
【问题描述】:

我最近在使用gulp.watch 时遇到了各种错误,所以我设置了一个非常简单的测试项目。我不知道为什么会出现错误。该项目包含5个文件:

  1. index.html
  2. package.json
  3. styles.css
  4. styles.less
  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
  • gulp-less:3.0.5

更新:我已经在 github 上的官方 gulp 存储库中提交了 created an issue。尽我所能解决这个问题。

更新 2: 我使用 Sublime 文本编辑器。打开太多窗口(即打开太多文件)将触发此问题。当我关闭其中一些窗口时,这个问题就消失了。我仍然找不到一致的“打开这么多窗口/文件”的场景,所以从我的角度来看,这仍然有点神秘。

【问题讨论】:

    标签: javascript node.js gulp gulp-watch gulp-less


    【解决方案1】:

    我和你有同样的问题。 最后我发现真正的问题是如果你在终端下用命令sublime .打开你的项目目录,然后运行gulp,gulp会导致错误。

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

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      • 2021-08-22
      • 2016-09-16
      • 1970-01-01
      • 2013-12-04
      • 2023-02-01
      相关资源
      最近更新 更多