2017-10-10 61 views
0

我一直在使用节点超过2年,从未见过这种情况下。当我运行lsof -i tcp:8080 时,8080端口几乎没有使用。我也试过killall -9 nodesudo fuser -k 8080/tcp ,但同样的错误。错误:听EADDRINUSE ::: 8080当没有进程正在使用8080端口

但是当我运行我的节点应用程序它发生错误。不知道为什么会发生。有任何想法吗?

app.js

const app = new Koa() 
const port = process.env.PORT || 8080 
const dist = isProduction() ? __dirname + '/../views' : __dirname + '/views/' 
const bpOption = { 
    fields: 'body', 
    IncomingForm: form 
} 

console.log("SIBAL") 

app.keys = ['secret', 'key']; 
require('./util/passport') 

app 
    .use(logger()) 
    .use(serve(dist)) 
    .use(session({}, app)) 
    .use(bodyParser(bpOption)) 
    .use(passport.initialize()) 
    .use(passport.session()) 
    .use(views(dist, { extension: 'pug'})) 
    .use(routes()) 

let server = app.listen(port) 
+1

请问您的应用程序尝试绑定到8080端口不止一次?显示问题的一些示例代码会很好。 –

+0

@MikeC我刚刚添加了代码,顺便说一句,我只是注意到,我每次都会得到错误,即使在另一个端口 – yaomohi

+0

你试图杀死8080,但你的应用也期待'process.env.PORT'也许你有一个使其在另一个端口中运行的环境变量? – cinnaroll45

回答

2

你可以试试这个:

sudo kill $(sudo lsof -t -i:8080) 
相关问题