2016-01-24 54 views
0

最近我一直收到gulp.watch的各種錯誤,所以我建立了一個非常簡單的測試項目。我無能爲力,爲什麼我得到錯誤。該項目包含5個文件:gulp.watch - Error:Watch null EMFILE

  1. 的index.html
  2. 的package.json
  3. styles.css的
  4. styles.less
  5. gulpfile.js

我只使用兩個模塊:

  1. gu LP
  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

更新:我已經created an issue在github官方gulp回購。盡我所能解決這個問題。

UPDATE 2:我使用Sublime文本編輯器。打開太多窗口(即打開太多文件)將觸發此問題。當我關閉一些窗口時,這個問題就消失了。我仍然無法找到一致的「這麼多windows /文件打開」的場景,所以從我的觀點來看,它仍然有些神祕。

回答

0

我和你有同樣的問題。 最後我發現實際的問題是,如果你打開你的項目目錄下的命令sublime .在終端下,然後運行吞嚥,那吞嚥會導致錯誤。

所以,你可以先打開崇高的應用程序,然後加載你的項目目錄,最後在終端啓動gulp。一切都會好起來的!

希望能幫到你

相關問題