React native ERROR Packager не может прослушивать порт 8081
когда я команду react-native start Это показывает Packager can't listen on port 8081.
Я знаю, что проблема связана с некоторым программным обеспечением, использующим мой порт 8081 .
Я использую Монитор ресурсов , чтобы увидеть порт , но я не могу узнать 8081 , нет 8081, кто-то может научить меня, как его найти ? Спасибо заранее.

10 ответов:
вы можете запустить упаковщик на другой порт.
$ react-native start --port=8088кроме того, узнайте, что использует какие порты в Windows с помощью netstat.
$ netstat -a -b -oNetstat дает вам PID, который вы можете использовать, чтобы убить процесс.
$ taskkill /pid 1234
эта ошибка возникает потому, что какой-то процесс уже запущен на порту 8081. Остановите этот процесс, а затем запустите свою команду, она будет запускать ваш код. Для этого первого списка все процессы, которые используют этот порт, набрав
lsof -i :8081эта команда выведет идентификатор процесса (PID) процесса, а затем убьет процесс узла с помощью
kill -9 <PID>здесь PID-это идентификатор процесса процесса узла.
эта картина действительно показывает, что ваш 8081 не используется. Если предложения выше не помогли, и ваше мобильное устройство подключено к компьютеру через usb (и у вас есть Android 5.0 (Lollipop) или выше), вы можете попробовать:
$ adb reconnectэто не обязательно в большинстве случаев, но на всякий случай, давайте сбросим ваше соединение с вашим мобильным телефоном и перезагрузим сервер adb. Наконец:
$ adb reverse tcp:8081 tcp:8081таким образом, всякий раз, когда ваше мобильное устройство пытается получить доступ к любому порту 8081 на себе это будет перенаправляется на порт 8081 на вашем ПК.
или можно попробовать
$ killall node
возьмите терминал и введите
fuser 8081/tcpвы получите идентификатор процесса, который использует порт 8081 Теперь убейте процесс
kill <pid>
попробуйте запустить в другом порту, как 3131. Выполните команду:
react-native run-android --port=3131
для того чтобы исправить эту проблему, процесс, которые я упомянул ниже.
пожалуйста, отмените текущий процесс "react-native run-android" с помощью CTRL + C или CMD + C
закрыть окно metro bundler(terminal), которое открывается автоматически.
снова запустите команду на терминале: "react-native run-android
это может быть связано с тем, что McAfee использует этот порт. Делать просто
lsof -i 8081может не показать приложение, и вы, возможно, придется sudo его.Do
sudo lsof -i 8081и если эта команда дает выход вы можете убить его с помощьюsudo launchctl remove com.mcafee.agent.macmn. После этого снова запустите упаковщик.
Ubuntu / Unix
мой Metro Bundler застрял, и было много запущенных процессов узла, но у меня не было никакой другой разработки, кроме react-native, поэтому я побежал:
$ killall -9 nodeMetro Bundler работает через узел на порту 8081 по умолчанию, и он может иногда сталкиваться с проблемами, из-за которых он застревает (обычно из-за нажатия CTRL+S в быстрой последовательности с горячей перезагрузкой). Если вы нажмете CTRL+C убить
react-native run-androidпроцесс, вы вдруг будете иметь плохое время, потому чтоreact-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 шага возвращаются к работе.
если вы хотите хирургически удалить именно мусор Metro Bundler на порту 8081, выполните шаги в ответе от RC_02, из которых:
$ sudo lsof -i :8081 $ kill -9 23583

Comments