2017-04-15 79 views
15

當我命令react-native start時,它顯示Packager can't listen on port 8081React native ERROR Packager無法偵聽端口8081

我知道這個問題是關於一些軟件使用我的端口8081。

我使用資源監視器來查看端口,但我找不到8081,沒有8081,有人可以教我如何找到它?提前致謝。 enter image description here

+1

看看[這篇文章](http://stackoverflow.com/questions/6960019/how-do-i-find-which-application-is-using-up-my-port),你應該找到它。 –

+0

我會看看,謝謝你的信息。 –

回答

26

您可以在另一個端口上運行打包程序。

$ react-native start --port=8088 

或者,找出使用netstat的Windows上的哪些端口。

$ netstat -a -b -o 

Netstat爲您提供了一個PID,您可以使用它來殺死進程。

$ taskkill /pid 1234 
+2

感謝您的回答,我解決了問題 –

6

該圖片確實表明您的8081未被使用。如果以上建議沒有幫助,而您的移動設備通過USB連接到電腦(和你的Android 5.0(棒棒堂)或以上),你可以嘗試:

$ adb reconnect 

這不是在大多數情況下有必要,但爲了以防萬一,我們重置您的手機連接並重新啓動adb服務器。最後:

$ adb reverse tcp:8081 tcp:8081 

所以,當您的移動設備嘗試訪問本身的任何端口8081,將被路由到您的PC上的8081端口。

或者,你可以嘗試

$ killall node 
+0

感謝您的回覆。 –

19

在Mac上,運行以下命令查找進程的ID,其使用端口8081
sudo lsof -i :8081
然後運行以下命令以終止進程:
kill -9 23583

下面是它的樣子 enter image description here

+0

感謝您的回覆。 –

9

此錯誤即將發生,因爲某些進程已在8081端口上運行。停止該進程然後運行你的命令,它會運行你的代碼。對於這第一個列表中的所有方法,該方法是使用該端口通過鍵入

lsof -i :8081 

此命令將列出的進程的進程ID(PID),然後通過使用

kill -9 <PID> 

這裏殺死節點處理PID是節點進程的進程ID。

+0

感謝您的回覆。 –

0

就拿終端輸入

fuser 8081/tcp 

你會得到它正在使用端口8081 現在殺進程

kill <pid> 
0

檢查是否已經有上運行的節點服務器進程ID您機器然後關閉它。