【问题标题】:gulp nodemon + node = Error: listen EADDRINUSEgulp nodemon + node = 错误:监听 EADDRINUSE
【发布时间】:2014-12-11 20:27:53
【问题描述】:

我知道 EADDRINUSE 发生在节点尝试将自己绑定到已在使用的端口时。

问题在于,当我的代码发生更改时,这一切都与 gulp nodemon 结合使用以重新启动。自从我将代码从 bin/www 移动到 app.js 文件中后,我就感觉自己遇到了这个错误。

bin/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!");
});

我第一次启动 gulp 时一切正常,但现在当 gulp 重新启动时,我收到错误:

Error: listen EADDRINUSE

我感觉这与将代码从 bin/www 中移出有关(让 socket.io 在我的应用程序变量上工作所必需的)

有人知道如何解决这个问题吗?

更新:在 gulp 之外使用“nodemon bin/www”时,一切正常

【问题讨论】:

    标签: node.js gulp nodemon


    【解决方案1】:

    如果有人遇到同样的问题,这似乎可以解决它:

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

    auto:false 选项可防止重新启动 livereload 服务器的另一个实例

    【讨论】:

      猜你喜欢
      • 2020-07-25
      • 2020-10-12
      • 2019-03-15
      • 2014-09-14
      • 2014-01-17
      • 2016-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多