【问题标题】:NodeJS , gulp , Error: listen EADDRINUSE :::3000NodeJS,一饮而尽,错误:听 EADDRINUSE :::3000
【发布时间】:2017-08-14 12:50:43
【问题描述】:

我正在使用 NodeJS,我正在使用 gulp。

我的文件夹是这样的:

Root 
  dist
  node_modules
  src
    index.html
  gulpfile.js
  package.json

我的 gulpfile 是:

"use strict";

var gulp = require('gulp');
var connect = require('gulp-connect'); // runs a local dev server 
var open = require('gulp-open'); // open a URL in a web browser

var config ={
    port : 3000,
    devBaseUrl : 'http://localhost',
    paths:{
        html:'./src/*.html',
        dist:'./dist'
    }
}

//Start a local development server 
gulp.task = ('connect' , function(){
    connect.server({
        root:['dist'],
        port: config.port,
        base: config.devBaseUrl,
    }); 
});

gulp.task('open', ['connect'], function(){
    gulp.src('dist/index.html').pipe(open({uri: config.devBaseUrl + ":" + config.port + '/'}))
});

gulp.task('html',function(){
    gulp.src(config.paths.html)
        .pipe(gulp.dest(config.paths.dist))
        .pipe(connect.reload());
});

gulp.task('default', ['html', 'open']);

当我在 cmd 中输入“gulp”时,我收到此错误:

C:\Users\maor\Documents\NodeProject\2>gulp
[13:18:28] Using gulpfile ~\Documents\NodeProject\2\gulpfile.js
[13:18:28] Server started http://localhost:3000
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE :::3000
    at Object.exports._errnoException (util.js:1018:11)
    at exports._exceptionWithHostPort (util.js:1041:20)
    at Server._listen2 (net.js:1262:14)
    at listen (net.js:1298:10)
    at Server.listen (net.js:1394:5)
    at ConnectApp.server (C:\Users\maor\Documents\NodeProject\2\node_modules\gulp-connect\index.js:57:19)
    at new ConnectApp (C:\Users\maor\Documents\NodeProject\2\node_modules\gulp-connect\index.js:37:10)
    at Object.server (C:\Users\maor\Documents\NodeProject\2\node_modules\gulp-connect\index.js:170:12)
    at Gulp.gulp.task (C:\Users\maor\Documents\NodeProject\2\gulpfile.js:18:10)
    at Object.<anonymous> (C:\Users\maor\Documents\NodeProject\2\gulpfile.js:29:6)

我真的不知道问题出在哪里,我已经检查过了,端口:3000 是免费的。你们能帮我弄清楚问题是什么吗?

【问题讨论】:

    标签: javascript html node.js gulp


    【解决方案1】:

    当节点进程已经在端口上运行时,就会出现这个问题。

    你可以修复它

    杀死节点

    或者你可以使用这个

    杀死所有节点

    您仍然可以使用以下命令查看节点进程:ps aux | grep 节点。

    如果您使用的是 Windows,则打开任务管理器并在进程选项卡中,搜索节点并右键单击该进程并结束进程。

    肯定会成功的。

    【讨论】:

    • C:\> tasklist // 将显示正在运行的进程列表' ` Image Name PID Session Name Session# Mem Usage System 4 console 0 236 K` ... node.exe 3592 console跨度>
    • 记下你的节点进程对应的PID,在本例中为3592。接下来运行taskkill终止进程。 C:\> taskkill /F /PID 3592
    • 没有节点进程..我检查了3次。还有其他选择吗?
    【解决方案2】:

    您是否正在运行任何其他可能使用端口 3000 的应用程序?

    即使您打算杀死它,以前的节点实例也可能仍在运行。检查您的流程,我有时会遇到此问题并通常使用

    killall node
    

    解决它。

    【讨论】:

    • 您可能需要添加-KILLkillall -KILL node
    【解决方案3】:

    或者更好的是,您可以将端口号更改为 8000 之类的其他值。

    【讨论】:

      猜你喜欢
      • 2018-12-24
      • 2016-09-16
      • 2014-01-17
      • 2016-07-12
      • 2021-02-11
      • 2021-02-26
      • 2018-05-07
      • 2017-06-02
      • 1970-01-01
      相关资源
      最近更新 更多