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:
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?
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
J'ai fait:
yarn add expo
et cela a fonctionné pour moi =)
Voir les documents:
introduction-fil-bouton-et-une-feuille-de-route-publique
et
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 :-)
Installer les modules Expo
npm install --save
c'est à dire.
npm install expo --save