2014-10-16 84 views
0

我知道EADDRINUSE在節點試圖將自己綁定到已經在使用的端口時發生。gulp nodemon + node =錯誤:listen EADDRINUSE

問題在於,當我的代碼發生更改時,這一切都與gulp nodemon結合使用以重新啓動。自從我將我的代碼從bin/www移動到我的app.js文件後,我感覺我得到了這個錯誤。

斌/ WWW看起來是這樣的:

#!/usr/bin/env node 
var app = require('../app'); 

gulp.js重新啓動我的服務器使用此代碼:

// nodemon task 
gulp.task('nodemon', function(){ 
    nodemon({ script: 'bin/www', ext: 'html js' }) 
    .on('change', ['styles-website', 'watch', 'test']) 
    .on('restart', function(){ 
    console.log('restarted nodemon!') 
    }) 
}); 

在我的app.js文件,我有這個來啓動服務器:

var server = app.listen(app.get('port'), function() { 
    console.log("Express server started!"); 
}); 

這一切工作正常,我第一次開始吞嚥,但現在當吞嚥重新啓動我得到的錯誤:

Error: listen EADDRINUSE 

我有一種感覺,這有什麼用代碼移出斌/ WWW做(必要得到socket.io我的應用程序變種工作)

有沒有人對如何的想法解決這個?

更新:使用「nodemon斌/ WWW」一飲而盡之外時,這一切工作正常

回答

0

如果有人有同樣的問題,這似乎解決它:

.pipe(livereload({ auto: false })) 

自動: false選項可防止重新啓動livereload服務器的另一個實例