为什么npm start会给我一个关于端口的错误?

Liz*_*yaw 5 npm react-native

我输入"npm start"后,我不知道为什么它会给我错误.我正在尝试使用相同的WIFI打开我的React Native项目.我认为这是关于港口的.

这是错误:

Loading dependency graph...events.js:183
  throw er; // Unhandled 'error' event
  ^

Error: listen EADDRINUSE :::8081
    at Server.setupListenHandle [as _listen2] (net.js:1360:14)
    at listenInCluster (net.js:1401:12)
    at Server.listen (net.js:1485:7)
    at D:\rnprojects\testproject\node_modules\metro\src\index.js:156:18
    at new Promise (<anonymous>)
    at Object.<anonymous> 
(D:\rnprojects\testproject\node_modules\metro\src\index.js:155:12)
    at Generator.next (<anonymous>)
at step (D:\rnprojects\testproject\node_modules\metro\src\index.js:47:262)
at D:\rnprojects\testproject\node_modules\metro\src\index.js:47:422
at <anonymous>
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! testproject@0.0.1 start: `node node_modules/react-native/local- 
cli/cli.js start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the testproject@0.0.1 start script.
npm ERR! This is probably not a problem with npm. There is likely additional 
logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\ASUS\AppData\Roaming\npm-cache\_logs\2018-09- 
29T06_20_58_251Z-debug.log
Run Code Online (Sandbox Code Playgroud)

之后npm start: 在此输入图像描述

ang*_*lex 20

可能端口已经在使用中.当我第一次运行react-native run-android然后npm start时,我面临类似的问题.我这样解决:首先,获取在端口8081中运行的进程的id:

sudo lsof -i :8081
Run Code Online (Sandbox Code Playgroud)

然后杀了它:

kill -9 ID_SHOWN_FROM_PREVIOUS_CMD 
Run Code Online (Sandbox Code Playgroud)

ID_SHOWN_FROM_PREVIOUS_CMD将类似25534所以在它之后,首先运行npm start然后react-native run-android


小智 5

找到端口:

netstat -a -n -o | find "8081"
Run Code Online (Sandbox Code Playgroud)

你需要找到pid。第二步,杀死那个:

taskkill /PID 5952 /F
Run Code Online (Sandbox Code Playgroud)

在这种情况下,pid 是“5952”。