从git下拉后,我试图在本地运行一个前端项目。之后,我得到以下错误:

vents.js:183
  throw er; // Unhandled 'error' event
  ^

Error: listen EADDRINUSE 127.0.0.1:8081
    at Object._errnoException (util.js:1022:11)
    at _exceptionWithHostPort (util.js:1044:20)
    at Server.setupListenHandle [as _listen2] (net.js:1351:14)
    at listenInCluster (net.js:1392:12)
    at GetAddrInfoReqWrap.doListen [as callback] (net.js:1501:7)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:97:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] dev: `webpack-dev-server --hot`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

我当时想,“等一下,我什么也没跑!!”。还是我?运行后
sudo lsof -i :8081

我看见:
COMMAND PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
cma     265 root   16u  IPv6 0x2756c3c2bce3e369      0t0  TCP *:sunproxyadmin (LISTEN)

我看到webpack-dev-server试图在与sunproxyadmin相同的端口上启动
...
  devServer: {
    port: 8081,
    hot: true,
  },
 ...

好吧,那么sunproxyadmin是什么,谁是cma(下车我的草坪!!!)
(顺便说一句,我知道如何杀死它)

PS:有些堆栈溢出点较多的人同意,请为sunproxyadmin,EADDRINUSE和cma创建标签

最佳答案

深入研究后,我发现cma是使用sunproxyadmin的Mcaffe的代理。

我认为我只能找出如何更改其使用的端口,但后来我无权更改其在我的计算机上使用的端口,因为它是由我们的IT部门设置的,而流​​程本身是由root用户启动的:



https://community.mcafee.com/t5/ePolicy-Orchestrator/Linux-CMA-Agent-port-chnage/td-p/314596

关于该主题的大多数搜索都由于某些原因而导致react问题,这可能就是为什么我找到了杀死它的解决方案here:

sudo lsof -n -i4TCP:8081 # get the process' PID
sudo launchctl list | grep 5693 # find the launchd endpoint
sudo launchctl remove com.mcafee.agent.macmn

因此最终,除更改端口webpack dev服务器启动外,杀死它是我唯一的选择。

10-06 00:18