5
votes

Comment réparer l'erreur React Native "jest-haste-map: Haste module naming collision"?

Lorsque j'ai installé react-native-popup-menu, j'ai rencontré une telle erreur.

Ceci est le code d'erreur

Recherche de fichiers JS dans
E: \ react-native \ ............. \

Chargement du graphe de dépendances ... (nœud: 9460) UnhandledPromiseRejectionAvertissement: Erreur: jest-haste-map: module Haste collision de dénomination: nom du module en double: chemins natifs de réaction: E: \ react-native \ ............. \ node_modules \ react-native-twitter-signin \ node_modules \ react-native \ package.json se heurte à E: \ react-native \ ............. \ node_modules \ react-native \ package.json

Cette erreur est due au fait que hasteImpl renvoie le même nom pour différents fichiers. à setModule (E: \ react-native \ ............. \ node_modules \ jest-haste-map \ build \ index.js: 551: 17) à workerReply (E: \ react-native \ ............. \ node_modules \ jest-haste-map \ build \ index.js: 613: 9) à process._tickCallback (internal / process / next_tick.js: 68: 7) (node: 9460) UnhandledPromiseRejectionWarning: promesse non gérée rejet. Cette erreur est née soit en jetant à l'intérieur d'un async fonctionner sans bloc catch, ou en rejetant une promesse qui était non géré avec .catch (). (ID de rejet: 2) (noeud: 9460) [DEP0018] DeprecationWarning: les rejets de promesses non gérées sont obsolètes. Dans l'avenir, les rejets de promesse qui ne sont pas traités mettront fin au Processus Node.js avec un code de sortie différent de zéro. (nœud: 9460) UnhandledPromiseRejection Avertissement: Erreur: jest-haste-map: module Haste collision de dénomination: nom du module en double: chemins natifs de réaction: E: \ react-native \ ............. \ node_modules \ react-native-twitter-signin \ node_modules \ react-native \ package.json se heurte à E: \ react-native \ ............. \ heybuddy \ node_modules \ react-native \ package.json

Cette erreur est due au fait que hasteImpl renvoie le même nom pour différents fichiers. à setModule (E: \ react-native \ ............. \ node_modules \ jest-haste-map \ build \ index.js: 551: 17) à workerReply (E: \ react-native \ ............. \ node_modules \ jest-haste-map \ build \ index.js: 613: 9) à process._tickCallback (internal / process / next_tick.js: 68: 7) (node: 9460) UnhandledPromiseRejectionWarning: promesse non gérée rejet. Cette erreur est née soit en jetant à l'intérieur d'un async fonctionner sans bloc catch, ou en rejetant une promesse qui était non géré avec .catch (). (identifiant de rejet: 3)

J'ai essayé de trouver le moyen de résoudre cette erreur, mais je ne trouve aucune solution.


0 commentaires

3 Réponses :


1
votes

J'ai eu ce problème et j'ai créé une sauvegarde des fichiers source et tout supprimé, le dossier entier. La suppression de node_modules ne suffisait pas. Après avoir récupéré les fichiers et utilisé npm install pour les packages, cela a fonctionné.


2 commentaires

Qu'est-ce que «tout» que vous avez supprimé?


Le dossier entier. C'est pourquoi j'ai fait une sauvegarde des fichiers sources.



0
votes

Je l'ai résolu en ajoutant un nouveau fichier nommé "rn-cli.config.js" dans le dossier racine du projet, avec le contenu suivant.

const blacklist = require('metro-config/src/defaults/blacklist');
module.exports = {
    resolver: {
        blacklistRE: blacklist([
            /node_modules\/.*\/node_modules\/react-native\/.*/,
        ])
    },
};


0 commentaires

0
votes

Je l'ai résolu en créant un fichier metro.config.js à la racine du dossier avec ceci:

module.exports = {
  resolver: {
    blacklistRE: /#current-cloud-backend\/.*/,
  },
};


0 commentaires