Node.js 错误:侦听EADDRINUSE:地址已在使用中:::6000

Node.js 错误:侦听EADDRINUSE:地址已在使用中:::6000,node.js,express,Node.js,Express,我已经多次启动服务器,比如4000 5000 6000,但在我的端口抛出器上得到了相同的答案;//未处理的“错误”事件我不知道为什么我已经更改了很多次,我也用ctrl c终止了我的服务器,然后重新启动,但得到相同的错误错误:listen Eaddrinue:地址已在使用中:::6000 const express = require('express'); const app = express(); const Joi = require('joi'); app.use(express.js

我已经多次启动服务器,比如4000 5000 6000,但在我的端口抛出器上得到了相同的答案;//未处理的“错误”事件我不知道为什么我已经更改了很多次,我也用ctrl c终止了我的服务器,然后重新启动,但得到相同的错误错误:listen Eaddrinue:地址已在使用中:::6000

const express = require('express');
const app = express(); 
const Joi = require('joi');
app.use(express.json());
const port = 6000;

const courses =[
    { id:1,
         name:'courses 1'},
    { id:2, name:'courses 2'},
    { id:1, name:'courses 3'},
];
app.get('/',(req,res)=>{
    res.send("hellow  request for this site has been successfully done");
});
app.get('/api/courses',(req,res)=>{
    res.send(courses);
});
app.get('/api/courses/:id',(req,res)=>{
    let course = courses.find(c=> c.id === parseInt (req.params.id));
    if (!course)res.status(404).send('<h1> 404 found</h1>')
    res.send(course);
});
app.put('/api/courses/:id',(req,res)=>{
    let course = courses.find(c=> c.id === parseInt (req.params.id));
    if (!course)res.status(404).send('<h1> 404 found</h1>')
    const {error} = validateCourse(req.body);
    if(error){
        res.status(400).send(error)
        return;
    } 

    course.name = req.body.name;
    res.send(course);


});

app.post('/api/courses',(req,res)=>{

    const {error} = validateCourse(req.body);
    if(error){
        res.status(400).send(error)
        return;
    } 
    const course ={
        id: courses.length + 1,
        name : req.body.name
    };
    courses.push(course);
    res.send(course);
});
app.listen(port,()=>{
    console.log(" kokab your server is runing " + port)

})
// validatecourse for repetation of course
validateCourse = (course) =>{
    const schema = {
        name: Joi.string().min(3).required()
    };
    return result = Joi.validate(course, schema); 
}
// terminal error
    C:\Users\DELL\Desktop\node> node app
events.js:174
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use :::6000
    at Server.setupListenHandle [as _listen2] (net.js:1279:14)
    at listenInCluster (net.js:1327:12)
    at Server.listen (net.js:1414:7)
    at Function.listen (C:\Users\DELL\Desktop\node\node_modules\express\lib\application.js:618:24)
    at Object.<anonymous> (C:\Users\DELL\Desktop\node\app.js:53:5)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
Emitted 'error' event at:
    at emitErrorNT (net.js:1306:8)
    at process._tickCallback (internal/process/next_tick.js:63:19)
    at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
const express=require('express');
常量app=express();
const-Joi=需要(“Joi”);
使用(express.json());
常数端口=6000;
康斯特球场=[
{id:1,
名称:'courses 1'},
{id:2,名称:'courses 2'},
{id:1,名称:'courses 3'},
];
应用程序获取(“/”,(请求,请求)=>{
res.send(“此站点的hellow请求已成功完成”);
});
app.get('/api/courses',(req,res)=>{
res.send(课程);
});
app.get('/api/courses/:id',(请求,请求)=>{
让course=courses.find(c=>c.id==parseInt(req.params.id));
if(!course)res.status(404).send('404 found')
res.send(课程);
});
app.put('/api/courses/:id',(请求,请求)=>{
让course=courses.find(c=>c.id==parseInt(req.params.id));
if(!course)res.status(404).send('404 found')
const{error}=validateCourse(请求主体);
如果(错误){
资源状态(400).发送(错误)
返回;
} 
course.name=req.body.name;
res.send(课程);
});
应用程序发布('/api/courses',(请求、回复)=>{
const{error}=validateCourse(请求主体);
如果(错误){
资源状态(400).发送(错误)
返回;
} 
恒程={
id:courses.length+1,
名称:req.body.name
};
课程。推送(课程);
res.send(课程);
});
应用程序侦听(端口,()=>{
log(“kokab您的服务器正在运行”+端口)
})
//确认课程是否重复
validateCourse=(课程)=>{
常量模式={
名称:Joi.string().min(3).required()
};
返回结果=Joi.validate(课程、模式);
}
//终端误差
C:\Users\DELL\Desktop\node>node应用程序
events.js:174
投掷者;//未处理的“错误”事件
^
错误:侦听EADDRINUSE:地址已在使用中:::6000
在Server.setupListenHandle[as _listen2](net.js:1279:14)
在ListeniCluster(net.js:1327:12)
在Server.listen(net.js:1414:7)
在Function.listen(C:\Users\DELL\Desktop\node\node\u modules\express\lib\application.js:618:24)
反对。(C:\Users\DELL\Desktop\node\app.js:53:5)
at模块编译(内部/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:789:10)
at Module.load(内部/modules/cjs/loader.js:653:32)
在tryModuleLoad(内部/modules/cjs/loader.js:593:12)
at Function.Module._load(内部/modules/cjs/loader.js:585:3)
在以下位置发出“错误”事件:
在emitErrorNT(net.js:1306:8)
在进程中。_tick回调(内部/process/next_tick.js:63:19)
位于Function.Module.runMain(internal/modules/cjs/loader.js:834:11)
启动时(内部/bootstrap/node.js:283:19)
在bootstrapNodeJSCore(internal/bootstrap/node.js:622:3)

使用下面的命令终止进程

lsof -i:<port_number>

kill -9 <PID>
lsof-i:
杀死-9

使用下面的命令终止进程

lsof -i:<port_number>

kill -9 <PID>
lsof-i:
杀死-9

您可以使用以下方法进行操作

sudo kill $(lsof -t -i:PORT) 


请用所需的端口替换端口。

您可以使用以下方法进行替换

sudo kill $(lsof -t -i:PORT) 


请用所需的端口替换端口。

这是否回答了您的问题?这回答了你的问题吗?