当前位置: 首页 > 知识库问答 >
问题:

如何修复“错误:侦听EADDRINUSE:地址已在使用:::5000”未处理的“错误”事件

乌靖
2023-03-14

我创建了一个nodejs服务器(一个loginapp),但当我尝试创建node应用程序时,出现了一个错误(她以前不在这里):

events.js:167
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use :::5000
    at Server.setupListenHandle [as _listen2] (net.js:1290:14)
    at listenInCluster (net.js:1338:12)
    at Server.listen (net.js:1425:7)
    at Function.listen (C:\Users\Corentin\Documents\loginapp\node_modules\express\lib\application.js:618:24)
    at Object.<anonymous> (C:\Users\Corentin\Documents\loginapp\app.js:81:5)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
Emitted 'error' event at:
    at emitErrorNT (net.js:1317:8)
    at process._tickCallback (internal/process/next_tick.js:63:19)
    at Function.Module.runMain (internal/modules/cjs/loader.js:745:11)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)

我认为这与mongo有关,但我没有看到错误,

这是我的app.js代码(不完整)问我,如果你需要更多的我的代码

var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var exphbs = require('express-handlebars');
var expressValidator = require('express-validator');
var bodyParser = require('body-parser');
var flash = require('connect-flash');
var session = require('express-session');
var passport = require('passport');
var LocalStrategy = require('passport-local'),Strategy;
var mongo = require('mongodb');
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/loginapp', { useNewUrlParser: true });
var db = mongoose.connection;

var routes = require('./routes/index');
var users = require('./routes/users');

// APP INIT
var app = express();

// VIEW ENGINE
app.set('views', path.join(__dirname,'views'));
app.engine('handlebars', exphbs({ defaultLayout:'layout' }));
app.set('view engine','handlebars');

app.use('/', routes);
app.use('/users', users);

// SET PORT
app.set('port', (5000));

app.listen(app.get('port'), () => {
    console.log('Server lancé sur le port ' + app.get('port'));
});

这是我users.js档案

var express = require('express');
var router = express.Router();
var bodyParser = require('body-parser');

var User = require('../models/user');

// REGISTER
router.get('/register', (req, res) => {
    res.render('register');
});

// LOGIN
router.get('/login', (req, res) => {
    res.render('login');
});

// REGISTER
router.post('/register', (req, res) => {
    var name = req.body.name;
    var username = req.body.username;
    var email = req.body.email;
    var password = req.body.password;
    var password2 = req.body.password2;

    // VALIDATION
    req.checkBody('name','Name is required').notEmpty();
    req.checkBody('username','Username is required').notEmpty();
    req.checkBody('email','Email is required').notEmpty();
    req.checkBody('email','Email is not valid').isEmail();
    req.checkBody('password','Password is required').notEmpty();
    req.checkBody('password2','Passwords do not match').equals(req.body.password);

    var errors = req.validationErrors();

    if(errors) {
        res.render('register', {
            errors:errors
        });
    } else {
        var newUser = new User({
            name: name,
            username: username,
            email: email,
            password: password
        });

        User.createUser(newUser, function(err, user) {
            if(err) throw err;
            console.log(user);
        });

        req.flash('success_msg', 'You are now registered and u can log');

        res.redirect('/users/login');
    }
});

module.exports = router;

还有用户。js文件

var mongoose = require('mongoose');
var bcrypt = require('bcryptjs');

// USER SCHEMA
var UserSchema = mongoose.Schema({
    username: {
        type: String,
        index: true
    },
    name: {
        type: String
    },
    email: {
        type: String
    },
    password: {
        type: String
    }
});

var User = module.exports = mongoose.model('User', UserSchema);

module.exports.createUser = function(newUser, callback) {
    bcrypt.genSalt(10, function(err, salt) {
        bcrypt.hash(newUser.password, salt, function(err, hash) {
            newUser.password = hash;
            newUser.save(callback);
        });
    });
}

非常感谢能帮助我的人!

共有3个答案

司空鸣
2023-03-14

您的express服务器试图打开端口500

app.set('port', (5000));

错误消息表明,该端口已在使用中。

您可以更改express服务器的端口,也可以找到使用端口5000的应用程序,看看是否可以在那里更改端口。

这有用吗?

严玉泽
2023-03-14

这对我有效:

sudo killall -9 node
常甫
2023-03-14

试试这个

sudo lsof -i :5000

命令PID用户FD类型设备大小/关闭节点名称
节点20152 abc 21u IPv6 195004 0t0 TCP*:超文本传输协议(听)

sudo kill -9 20152
 类似资料:
  • 我创建了一个nodejs服务器(一个loginapp),但当我尝试节点app时,出现了一个错误(她之前不在这里): 我认为与mongo有联系,但我没有看到错误, 这是我的app.js代码(未满)问我如果你需要更多我的代码 这是我的users.js文件 和user.js文件 非常感谢能帮助我的人!

  • 问题内容: 如果我使用端口80运行服务器,并且尝试使用xmlHTTPrequest,则会出现此错误: 如果我要在端口80上运行服务器时发出请求,为什么nodejs会出现问题?对于网络浏览器来说,这不是问题:在服务器运行时,我可以在Internet上冲浪。 服务器是: 并要求: 问题答案: 表示试图将服务器绑定到的端口号已被使用。 因此,在您的情况下,必须已经在端口80上运行了服务器。 如果在此端口

  • 我已经创建了一个quarkus快速启动项目 之后当我跑步时: 我收到以下错误: 错误的来源似乎是来自 我不确定它要绑定到哪个端口。我想是8080。 任何想法如何使用应用程序.properties覆盖默认端口? 我在windows上。 谢谢!

  • 问题内容: 我正在测试Windows 7上用nodejs编写的服务器,当我尝试在命令行中运行测试器时,出现以下错误 如何在不重新启动的情况下进行修复? 问题答案: 这表示您正在尝试将服务器绑定到的地址。尝试另一个端口或使用该端口关闭程序。

  • 问题内容: 当我的discord bot上网时间过长(大约3-4小时)时,会随机出现此错误,但有时该错误发生得更早,有时又更晚。真的很困扰我 问题答案: 我在自己的代码中为这个问题努力了一段时间。主要问题是跟踪是完全无用的, 并且 错误很少发生,以至于使“在终端中运行并等待”是徒劳的任务。最终,我能够弄清楚Discord.js客户端本身正在引发错误- 在我阅读的任何文档中都没有提到此错误,因此我没

  • 问题内容: 我正在创建一个简单的flaskapp,然后将其部署在heroku上,这是第一次在heroku上部署python应用程序,说我对gunicorn并不陌生。 其他说明:使用虚拟环境。 烧瓶的版本Flask == 0.10.1 gunicorn == 19.3.0 使用’python run.py’ 工作 使用“开工开始”会出现以下错误 程序文件 档案结构 运行 init.py route.