我不知道为什么在输入“ 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
答案 0 :(得分:12)
端口可能已在使用中。我第一次运行 react-native run-android 然后运行 npm start 时,也会遇到类似的问题。我这样解决: 首先,获取在端口8081中运行的进程的ID:
sudo lsof -i :8081
然后杀死它:
kill -9 ID_SHOWN_FROM_PREVIOUS_CMD
ID_SHOWN_FROM_PREVIOUS_CMD将类似于25534 因此,在此之后,首先运行 npm start ,然后运行 react-native run-android
答案 1 :(得分:0)
就我而言,运行在8081上的进程是必需的,无法杀死。 所以我改变了本地应用程序本身的端口 设置另一个端口
react-native start --port = 8088#您喜欢的任何其他端口
然后将project.pbxproj中的所有8081实例更改为8088 即
node_modules / react-native / React / React.xcodeproj / project.pbxproj
也可以在Xcode中打开项目,搜索8081并替换为8088。
再次重建项目。 这就是我通过问题解决的方式。
答案 2 :(得分:0)
找到端口:
netstat -a -n -o | find "8081"
您需要找到pid。第二步,杀死它:
taskkill /PID 5952 /F
在这种情况下,pid为“ 5952”。
答案 3 :(得分:0)
在终端中运行命令:
lsof -n -i4TCP:8081 | sed '1 d' | awk '{print $2}' | xargs kill -9
答案 4 :(得分:0)
lsof -i :PORT_NUMBER //To find the PID
kill -9 PID
npm start
答案 5 :(得分:0)
On a mac/ubuntu, run the following command to find id of the process which is using port 8081
**sudo lsof -i :8081**
执行此操作后,此处获得一个PID。只需复制并粘贴下一个步骤
Then run the following to terminate process:
**kill -9 23583**
example: PID = 23583
仅此而已。享受您的编码