2014-10-16 82 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服务器的另一个实例