端口 5000 持续使用

Sno*_*opy 9 node.js reactjs

所以,我刚刚处理了这个问题。但我需要弄清楚我不断得到的

EADDRINUSE :::5000

server.js 片段

const port = process.env.PORT || 5000;
var server = app.listen(port, () =>
  console.log(`Server running on port ${port}`)
);
Run Code Online (Sandbox Code Playgroud)

如果我运行命令,sudo lsof -i tcp:5000我会得到以下信息:

node    16476 jedi   59u  IPv4 0x5494461608a39abb      0t0  TCP localhost:62154->localhost:commplex-main (ESTABLISHED)
node    16499 jedi   12u  IPv6 0x54944615f7c1134b      0t0  TCP *:commplex-main (LISTEN)
node    16499 jedi   15u  IPv6 0x54944615f724ee0b      0t0  TCP localhost:commplex-main->localhost:62154 (ESTABLISHED)
Run Code Online (Sandbox Code Playgroud)

我每次都通过终止节点进程来解决这个问题,但这很烦人。我怎样才能找出导致这种冲突的原因?我正在同时运行我的 Node 服务器和 React 环境。我注意到,当我独立运行节点时,我没有收到错误。我的代理设置package.json

"proxy": "http://localhost:5000"
Run Code Online (Sandbox Code Playgroud)

我更改了端口,但仍然出现错误。有什么建议么?

小智 23

看起来这是一个 macOS 问题 - 有人在这里有一个解决方案- TLDR 是进入您的系统首选项中的共享并取消选中 Airplay 接收器,因为 Airplay 接收器正在使用该端口