web-dev-qa-db-fra.com

Expo: impossible de trouver un module LogReporter

J'ai créé un projet React Native et j'essayais d'ouvrir ce projet dans Expo XDE. Il génère l'erreur suivante:

Cannot find module ...\node_modules\expo\tools\LogReporter

Tout d'abord, j'ai créé un projet React Native en clonant un projet KitchenSink. Lien:

NativeBase-KitchenSink

Lorsque j'ai démarré le projet en émettant une série de commandes dans le répertoire racine du projet:

npm install et alors expo start

J'ai vu que l'app.json n'était pas non plus approprié, ce qui était le suivant:

{
  "name": "NativebaseKitchenSink",
  "displayName": "NativebaseKitchenSink"
}

Après avoir émis expo start react-native a signalé que app.json ne se trouve pas dans le répertoire courant.

[17:05:08] Démarrage du projet dans D:\Projects\ReactNativeProjects\AwesomeProject [17:05:10] Erreur: app.json manquant. Voir https://docs.expo.io/ [17:05:10] Impossible de démarrer le projet. Veuillez corriger les erreurs et redémarrer le projet. [17:05:10] Erreur: impossible de démarrer le projet. Veuillez corriger les erreurs et redémarrer le projet. à C:\[email protected]\src\Project.js: 1565: 11 à Generator.next () à l'étape (C:\Users\hp\AppData\Roaming\npm\node_modules\expo-cli\node_modules\xdl\build\Project.js: 2033: 191) dans C:\Users\hp\AppData\Roaming\npm\node_modules\expo-cli\node_modules\xdl\build\Project.js: 2033: 361 sur process._tickCallback (interne /process/next_tick.js:68:7)

J'ai changé app.json en:

{
  "expo": {
    "name": "AwesomeProject",
    "description": "A Kitchen Sink project.",
    "slug": "AwesomeProject",
    "privacy": "public",
    "sdkVersion": "30.0.0",
    "platforms": [
      "ios",
      "Android"
    ],
    "ios": {
      "supportsTablet": true
    },
    "Android": {
      "package": "com.abhsax.first"
    },
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/logo.png",
    "splash": {
      "image": "./assets/splashscreen.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ]
  }
}

Il y a eu quelques mises à jour dans le projet lorsque j'ai publié npm install encore. Ensuite, j'ai émis:

expo start

Cette erreur est survenue:

(nœud: 2044) UnhandledPromiseRejectionWarning: Erreur: impossible de trouver le module 'D:\Projects\ReactNativeProjects\AwesomeProject\node_modules\expo\tools\LogReporter'

Pourquoi ai-je cette erreur et comment puis-je la corriger?

14
Sadhu

vérifier votre package.json s'il contient toutes les dépendances nécessaires et exécutez npm install dans le répertoire personnel du projet

si un paquet est manquant, vous pouvez l'ajouter avec

npm install <package_name> --save

si vous utilisez fil exécutez:

yarn add expo
10
warch

J'ai fait:

yarn add expo

et cela a fonctionné pour moi =)

9
mzalazar

Voir les documents:

introduction-fil-bouton-et-une-feuille-de-route-publique

et

npm-vs-yarn-in-react-native

Ces documents indiquent que depuis le projet configuré en utilisant Yarn, vous devez suivre la voie Yarn. [Note: There is a file yarn.lock inside the root directory of the project, you have posted]

Par conséquent, ces projets sont traités en suivant les instructions de la documentation.

Veuillez voir Comment créer un projet React Native en utilisant Yarn? pour réellement créer un react-native projet utilisant Yarn.

Et n'oubliez pas de supprimer node_modules dossier et exécuter la commande npm install avant d'ajouter react native CLI en utilisant yarn. Vous devez supprimer package-lock.json depuis la racine de votre projet. Ce sera pour éviter de mélanger différents gestionnaires de paquets: npm et yarn.

Au lieu de cela, ce sera une bonne idée de ne pas utiliser npm, et afin de générer node_modules, il suffit de lancer la commande:

yarn

Le dernier lien recommande d'installer tous les packages dont vous avez besoin en utilisant Yarn, et de ne pas utiliser d'autre gestionnaire de packages:

yarn global add react-native-cli

pour ajouter react-native:

yarn add react-native

pour ajouter des packages manquants:

yarn add react-base --save

et pour installer expo en utilisant du fil:

yarn add expo

installer expo-cli

yarn add expo-cli

Il est possible que vous puissiez vous passer de Expo. Concentrez-vous sur react-native et yarn.

Générez les dossiers Android et ios:

react-native eject

Fil de départ:

yarn start

exécutez la construction de votre choix et assurez-vous que les SDK sont installés.

react-native run-Android

Veuillez également voir: ncaught TypeError: Impossible de lire la propriété 'forEach' de non défini, sur une démonstration de KitchenSink

Codage heureux :-)

6
Abhinav Saxena

Installer les modules Expo

npm install --save

c'est à dire.

npm install expo --save

2
Drenniud Branchett