प्रतिक्रियाशील मूल ERROR Packager पोर्ट 8081 पर नहीं सुन सकता


84

जब मैं कमांड चलाता हूं react-native start, तो यह पता चलता है Packager can't listen on port 8081

मुझे पता है कि समस्या मेरे पोर्ट 8081 का उपयोग करने वाले सॉफ़्टवेयर के बारे में है।

मैं पोर्ट देखने के लिए संसाधन मॉनिटर का उपयोग करता हूं, लेकिन मुझे 8081 नहीं मिल रहा है, कोई 8081 नहीं है

क्या कोई मुझे दिखा सकता है कि मैं इसे कैसे खोजूं?

यहां छवि विवरण दर्ज करें


1
इस पोस्ट पर एक नज़र डालें , आपको इसे ढूंढना चाहिए।
एंटोनी ग्रैंडचैम्प

अन्य उत्तरों के अलावा, सुनिश्चित करें कि मेट्रो बंडल पहले से ही कुछ लंबे समय से भूल टर्मिनल विंडो में नहीं चल रहा है।
लुरिफ़ैक्सेल

जवाबों:


108

आप पैकेट को दूसरे पोर्ट पर चला सकते हैं।

$ react-native start --port=8088

वैकल्पिक रूप से, पता करें कि नेटस्टैट के साथ विंडोज पर कौन से पोर्ट का उपयोग कर रहा है।

$ netstat -a -b -o

नेस्टैट आपको एक पीआईडी ​​देता है, जिसका उपयोग आप प्रक्रिया को मारने के लिए कर सकते हैं।

$ taskkill /pid 1234

146

एक मैक पर, पोर्ट का उपयोग करने वाली प्रक्रिया की आईडी खोजने के लिए निम्नलिखित कमांड 8081
sudo lsof -i :8081
चलाएँ। फिर प्रक्रिया को समाप्त करने के लिए निम्नलिखित को चलाएँ:
kill -9 23583

यहाँ है कि यह कैसा दिखेगा यहां छवि विवरण दर्ज करें


4
Ubuntu 18.04 पर भी काम करता है
theapache64

1
मेरे लिए भी काम किया, मैकओएस हाई सिएरा पर
लिरन एच

1
अच्छा अच्छा अच्छा अच्छा बहुत अच्छा लगा, धन्यवाद।
जेफ गिल्बर्ट

31

यह त्रुटि आ रही है क्योंकि कुछ प्रक्रिया पहले से ही 8081 पोर्ट पर चल रही है। उस प्रक्रिया को रोकें और फिर अपना आदेश चलाएँ, यह आपका कोड चलाएगा। इसके लिए पहले उन सभी प्रोसेस को सूचीबद्ध करें जो टाइप करके इस पोर्ट का उपयोग कर रहे हैं

lsof -i :8081  

यह कमांड प्रक्रिया की प्रक्रिया आईडी (पीआईडी) को सूचीबद्ध करेगा और फिर उपयोग करके नोड प्रक्रिया को मार देगा

kill -9 <PID>  

यहाँ PID नोड प्रक्रिया की प्रोसेस आईडी है।


19

यह चित्र वास्तव में दिखाता है कि आपका 8081 उपयोग में नहीं है। यदि ऊपर दिए गए सुझावों ने मदद नहीं की है, और आपका मोबाइल डिवाइस usb के माध्यम से आपके कंप्यूटर से जुड़ा हुआ है (और आपके पास Android 5.0 (लॉलीपॉप) या इसके बाद का संस्करण है) तो आप कोशिश कर सकते हैं:

$ adb reconnect

यह ज्यादातर मामलों में आवश्यक नहीं है, लेकिन सिर्फ मामले में, चलो अपने मोबाइल के साथ अपना कनेक्शन रीसेट करें और एडीबी सर्वर को पुनरारंभ करें। आखिरकार:

$ adb reverse tcp:8081 tcp:8081

इसलिए, जब भी आपका मोबाइल डिवाइस किसी पोर्ट 8081 को अपने आप एक्सेस करने की कोशिश करता है, तो इसे आपके पीसी पर 8081 पोर्ट पर भेजा जाएगा।

या, एक कोशिश कर सकता है

$ killall node

9

उबंटू / यूनिक्स और& मैकओएस

मेरा मेट्रो बंडलर अटक गया था और बहुत सारी नोड प्रक्रियाएं चल रही थीं, लेकिन मेरे पास प्रतिक्रिया-मूल के अलावा कोई अन्य विकास नहीं था, इसलिए मैं भाग गया:

$ killall -9 node

मेट्रो Bundler डिफ़ॉल्ट रूप से पोर्ट 8081 पर नोड के माध्यम से चल रहा है, और यह (आमतौर पर कारण दबाने के लिए कभी कभी समस्याएं आती हैं, जिससे यह अटक जाता है कर सकते हैं CTRL+ Sपर गर्म पुन: लोड के साथ तेजी से उत्तराधिकार में)। यदि आप इस प्रक्रिया को मारने के लिए CTRL+ दबाते हैं, तो आपके पास अचानक खराब समय होगा क्योंकि आप इस पर अटक जाएंगे:Creact-native run-androidreact-native-run-android

Scanning folders for symlinks in /home/poop/dev/some-app/node_modules (41ms)

ठीक कर:

$ killall -9 node

$ react-native run-android

नोट: यदि आप समय पर अन्य एप्लिकेशन विकसित कर रहे हैं, तो सभी नोड प्रॉसेस को मारना उन्हें या आपके द्वारा चलाए जा रहे किसी भी नोड-आधारित सेवाओं को बाधित कर सकता है, इसलिए व्यापक प्रकृति के प्रति सचेत रहें killall -9। यदि आप एक नोड-आधारित डेटाबेस या ऐप नहीं चला रहे हैं या आप मैन्युअल रूप से उन्हें पुनः आरंभ करने का मन नहीं रखते हैं, तो आपको जाना अच्छा होना चाहिए।

इस अर्ध-असंबंधित प्रश्न पर मैं इसका विस्तृत उत्तर देने का कारण यह हूं कि मेरा एक सामान्य अर्ध-संबंधित समस्या का समाधान है, जिसे दुखी करने के लिए ठीक करने के लिए 2 चरणों की आवश्यकता होती है, लेकिन सौभाग्य से केवल 2 कदम काम पर वापस आते हैं।

यदि आप पोर्ट 8081 पर मेट्रो बुंडलर कचरा को ठीक से निकालना चाहते हैं, तो RC_02 से उत्तर में चरणों को करें , जो हैं:

$ sudo lsof -i :8081

$ kill -9 23583

(जहां 23583 प्रक्रिया आईडी है)


6

टर्मिनल लें और टाइप करें

fuser 8081/tcp

आपको एक प्रोसेस आईडी मिलेगी जो पोर्ट 8081 का उपयोग कर रही है। अब इस प्रक्रिया को मार दें

kill <pid>

3

आपको पोर्ट 8081 पर चलने वाली सभी प्रक्रियाओं को मार देना चाहिए kill -9 $(lsof -i:8081)


2

जांचें कि क्या आपकी मशीन पर पहले से ही एक नोड सर्वर चल रहा है और फिर उसे बंद कर दें।


2

3131 जैसे दूसरे पोर्ट में चलाने का प्रयास करें। कमांड चलाएँ:

react-native run-android --port=3131

McAfee मेरे मामले में इस बंदरगाह का उपयोग कर रहा है। जैसा कि उल्लेख किया गया है, विभिन्न बंदरगाह में चलने से मदद मिलती है।
मुथु

1

यह McAfee द्वारा उस पोर्ट का उपयोग करने के कारण हो सकता है। सरल करना lsof -i 8081एप्लिकेशन को नहीं दिखा सकता है और आपको इसे sudo करना पड़ सकता है।

करो sudo lsof -i 8081और अगर यह कमांड आउटपुट देता है तो आप इसका उपयोग करके इसे मार सकते हैं sudo launchctl remove com.mcafee.agent.macmn। इसके बाद फिर से पैकर शुरू करें।


1

मेरे मामले में, एमुलेटर पर इंटरनेट नीचे है क्योंकि एमुलेटर पर कोई वाईफाई सिग्नल नहीं है। रीसेट करने वाले एमुलेटर ने काम किया है।


0

इस समस्या को ठीक करने के लिए, मैंने नीचे दी गई प्रक्रिया का उल्लेख किया है।

कृपया CTRL + C या CMD + C द्वारा "प्रतिक्रिया-देशी रन-एंड्रॉइड" की वर्तमान प्रक्रिया को रद्द करें

नज़दीकी मेट्रो बंडल (टर्मिनल) विंडो कमांड लाइन जो स्वचालित रूप से खुली।

टर्मिनल पर फिर से कमांड चलाएँ, “प्रतिक्रिया-देशी रन-एंड्रॉइड


0

सबसे पहले, अपने डिवाइस में देव के पास जाएं। विकल्प -> ADB नेटवर्क पर इसे करने के बाद:

$ adb connect <your device adb network>
$ react-native run-android 

(या रन-आईओएस, वैसे)

अगर इससे आपके डिवाइस ने सफलतापूर्वक ऐप-डिबग.पेक इंस्टॉल किया है, तो ऐप-डीबग खोलें और देव पर जाएं। सेटिंग्स -> डिवाइस के लिए सर्वर होस्ट और पोर्ट डिबग करें , अपनी मशीन के आईपी पते (आमतौर पर, सिस्टम वरीयता -> नेटवर्क ) में टाइप करें , जैसा कि नीचे दिए गए उदाहरण में < अपनी मशीन का आईपी पता > : 8081 (असमान असमानता)

अंत में, नीचे दिए गए कमांड को निष्पादित करें

$ react-native start --port=8081

किसी अन्य पोर्ट का प्रयास करें, और सत्यापित करें कि आप मशीन और आपका डिवाइस समान नेटवर्क हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.