web-dev-qa-db-fra.com

Réagit Native Bundler Bundler ne démarre pas automatiquement

react-native run-Android ne pas démarrer le bundler alors j’ai essayé react-native start il montre l'erreur ci-dessous.

┌──────────────────────────────────────────────────────────────────────────────┐
│                                                                              │
│  Running Metro Bundler on port 8081.                                         │
│                                                                              │
│  Keep Metro running while developing on any JS projects. Feel free to        │
│  close this tab and run your own Metro instance if you prefer.               │
│                                                                              │
│  https://github.com/facebook/react-native                                    │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘

events.js:167
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE :::8081
    at Server.setupListenHandle [as _listen2] (net.js:1286:14)
    at listenInCluster (net.js:1334:12)
    at Server.listen (net.js:1421:7)
    at /Users/user/Documents/Prasanth/AwesomeProject/node_modules/metro/src/index.js:157:18
    at new Promise (<anonymous>)
    at Object.<anonymous> (/Users/user/Documents/Prasanth/AwesomeProject/node_modules/metro/src/index.js:156:12)
    at Generator.next (<anonymous>)
    at step (/Users/user/Documents/Prasanth/AwesomeProject/node_modules/metro/src/index.js:47:262)
    at /Users/user/Documents/Prasanth/AwesomeProject/node_modules/metro/src/index.js:47:422
Emitted 'error' event at:
    at Server.WebSocketServer._onServerError (/Users/user/Documents/Prasanth/AwesomeProject/node_modules/ws/lib/WebSocketServer.js:82:50)
    at Server.emit (events.js:187:15)
    at emitErrorNT (net.js:1313:8)
    at process._tickCallback (internal/process/next_tick.js:63:19)

informations natives

  React Native Environment Info:
    System:
      OS: macOS High Sierra 10.13.6
      CPU: x64 Intel(R) Core(TM)2 Duo CPU     E7600  @ 3.06GHz
      Memory: 3.36 GB / 12.00 GB
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 10.12.0 - /usr/local/bin/node
      Yarn: 1.10.1 - /usr/local/bin/yarn
      npm: 6.4.1 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    SDKs:
      iOS SDK:
        Platforms: iOS 12.0, macOS 10.14, tvOS 12.0, watchOS 5.0
      Android SDK:
        Build Tools: 21.1.2, 23.0.1, 25.0.0, 26.0.0, 26.0.1, 26.0.2, 26.0.3, 27.0.3, 28.0.2, 28.0.3
        API Levels: 21, 22, 23, 24, 25, 26, 27
    IDEs:
      Android Studio: 3.2 AI-181.5540.7.32.5056338
      Xcode: 10.0/10A255 - /usr/bin/xcodebuild
    npmPackages:
      react: 16.5.0 => 16.5.0 
      react-native: 0.57.2 => 0.57.2 
    npmGlobalPackages:
      react-native-cli: 2.0.1
      react-native-git-upgrade: 0.2.7

package.json

{
  "name": "AwesomeProject",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "react": "16.5.0",
    "react-native": "0.57.2"
  },
  "devDependencies": {
    "babel-jest": "23.6.0",
    "jest": "23.6.0",
    "react-test-renderer": "16.5.0"
  },
  "jest": {
    "preset": "react-native"
  }
}

J'ai essayé de nettoyer le cache et l'inverse de l'adb est toujours ce problème

react-native run-Android montrant l'erreur ci-dessous.

enter image description here

Configuration Android Home

export Android_HOME=/<Path>/Android-sdk-macosx
export PATH=$PATH:$Android_HOME/tools
export PATH=$PATH:$Android_HOME/tools/bin
export PATH=$PATH:$Android_HOME/platform-tools
export PATH=$PATH:$Android_HOME/emulator

Comment résoudre ce problème.

8
Prasanth S

J'ai essayé de suivre les étapes pour résoudre mon problème

  1. Exécution du conditionneur sur un port différent react-native start --port 8084 --reset-cache
  2. Courir react-native run-Android --port 8084 Dans la deuxième fenêtre d'invite de commande.
  3. Après l'écran d'erreur apparaissent en cliquant sur Ctrl + M.
  4. Cliquez sur le bouton Paramètres de développement en bas.
  5. Cliquez sur le bouton Debug Host Host & Port for Device.
  6. Tapez localhost:8084 Et cliquez sur le bouton OK.
  7. Encore une fois courir react-native run-Android --port 8084
5
Prasanth S

C'est parce que le port 8081 est en cours d'utilisation.

Essayer

react-native start --port=8080

Cela fonctionnera.

10
Krishnaraj R

Le même problème auquel je suis confronté aussi. Je viens de mettre à jour la version 0.59.1 et cela ne fonctionne pas ... En guise de solution de contournement, j'exécute le générateur de métro dans un onglet séparé, puis l'exécution réagit dans un onglet séparé.

react-native start --reset-cache 

dans un terminal et laissé ouvert

react-native run-Android 

dans un autre terminal

4
Salione

Ajout de Android: usesCleartextTraffic = "true" à la balise d'application dans AndroidManifest fonctionne pour moi

<application
        ...
        Android:usesCleartextTraffic="true"
        ...
1
Kamala Tennakoon

Même problème que j'ai rencontré. Les solutions ci-dessus n'ont pas fonctionné pour moi. Le problème venait de version de NodeJS.

La version installée de NodeJS était 12.11.1 dans lequel j'ai eu les problèmes ci-dessus. Puis j'ai remplacé par la version stable 10.16.3 LTS et il fonctionne.

J'espère que cette solution peut être utile.

1
Dipak

Vous pouvez accéder à votre dossier Utilisateurs et supprimer le répertoire ".expo". Il peut être masqué en tant que répertoire système. Vous devez donc tout afficher, puis supprimer le dossier .expo.

Exécutez npm start again.

0
srinivas

Remplacez le code par celui-ci. Le chemin du fichier est -

modules_noeud\metro-config\src\defaults\blacklist.js

var sharedBlacklist = [
  /node_modules[\/\\]react[\/\\]dist[\/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];

J'ai trouvé cette solution de Github.

0
user8243653

Pour Unable to load script from assets _ problème, vous devez suivre les étapes ci-dessous:

1] Please check whether "assets" folder exists or not in 'Android/app/src/main/'
    a] If it exists then, you need to delete two files(i.e. index.Android.bundle and index.Android.bundle.meta)
    b] If it doesn't exist, then create the assets directory in it.

2] Use below commands from your root project directory:
    cd Android
    ./gradlew clean

3] Go to the root directory and check:
    a] If there is only one file(i.e. index.js), then run below command:
        react-native bundle --platform Android --dev false --entry-file index.js --bundle-output Android/app/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res

    b] If there are two files(i.e index.Android.js and index.ios.js), then below command:
        react-native bundle --platform Android --dev false --entry-file index.Android.js --bundle-output Android/app/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res

4] Finally run below command:
    react-native run-Android
0
Sandy

D'après l'erreur, ce que je comprends, il faut exécuter la commande bundle avant de démarrer JS Server

react-native bundle --platform Android --dev false --entry-file index.js --bundle-output Android/app/src/main/assets/index.Android.bundle --assets-dest Android/app/src/main/res

Enfin, vous pouvez vérifier si aucune dépendance n’est manquante en suivant la commande

./gradlew assembleRelease -x bundleReleaseJsAndAssets

alors vous pouvez exécuter Android et réagir serveur natif

react-native run-Android
react-native start --reset-cache

Bonne chance !

0
Sk Sunny