我创建了一个nodejs服务器(一个loginapp),但是当我尝试结点app时,出现了一个错误(她以前不在这里):
ViewContainerRef
我认为与mongo有链接,但是我没有看到错误,
这是我的app.js代码(未满)问我,如果你需要更多的我的代码
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)
这是我的users.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'));
});
还有user.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;
非常感谢能帮助我的人!
答案 0 :(得分:4)
这对我有用:
sudo killall -9 node
答案 1 :(得分:2)
尝试这个
import {RouteComponentProps, withRouter} from "react-router-dom";
type TScrollToTopProps = RouteComponentProps;
class ScrollToTop extends Component<TScrollToTopProps> {
componentDidMount() {
this.unlisten = this.props.history.listen((location) => {
window.scrollTo(0, 0);
});
}
componentWillUnmount() {
this.unlisten();
}
render() {
return this.props.children;
}
}
export default withRouter(ScrollToTop);
命令PID用户FD类型设备大小/关闭节点名称
节点20152 abc 21u IPv6 195004 0t0 TCP *:http(LISTEN)
sudo lsof -i :5000
答案 2 :(得分:1)
您的快递服务器尝试打开端口500
app.set('port', (5000));
错误消息表明此端口已在使用中。
您可以更改Express服务器的端口,也可以找到使用端口5000的应用程序,然后查看是否可以在该端口上更改端口。
有帮助吗?
答案 3 :(得分:0)
您应该尝试:
netstat -lpn | grep 5000
然后:
kill -9 PID
答案 4 :(得分:0)
重新启动笔记本电脑/服务器,它将释放所有繁忙的端口,然后重试...您也可以使用
ps aux | grep node
,然后使用以下命令终止该进程:
kill -9 PID
但是大多数情况下,它不适用于nodemon,也不适用于我。
答案 5 :(得分:0)
我知道这是一个旧线程,但是也许有人会觉得这个有用。
为了提高效率,我在bashrc文件的别名中添加了以下bash脚本,因此不必键入lsof -i:5000
,然后复制PID,然后运行kill -9 PID
。
在 .bashrc 中(通常可以在路径〜/ .bashrc 中找到它),在其中放置以下内容:
alias k5k='lsof -t -i:5000 | xargs kill -9'
我将别名 k5k 命名为“杀死5 000(k)”,但是您可以随便命名。
然后,您只需键入k5k
,它将杀死端口5000上运行的所有实例。
答案 6 :(得分:0)
我发现 fuser -k 5000/tcp
是杀死特定端口上的进程的最快方法。
答案 7 :(得分:0)
显示此错误是因为您的 mongodb 正在运行...即 mongod。所以首先退出,然后重新启动你的 Visual Studio 代码......它肯定会工作。
答案 8 :(得分:0)
试试sudo pkill node
。不要忘记使用 sudo
权限。这真的对我有用。
我试过kill -9 PID
。但它会在每个 rs
再次发生。
答案 9 :(得分:0)
我遇到了这个错误,我做错的是我声明了 app.listen()
两次,因此端口已经在使用中。确保你只做一次。
答案 10 :(得分:-1)
您有两个终端打开,并与端口5000断开连接,杀死其中一个!