Esto sucedió aparentemente al azar durante el desarrollo. Cuando bash ejecutar npm start
o react-native run-ios
, recibo el siguiente error:
Failed to build DependencyGraph: @providesModule naming collision: Duplicate module name: react-native-vector-icons Paths: /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/local-cli/rnpm/core/test/fixtures/files/package.json collides with /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/Libraries/Animated/release/package.json This error is caused by a @providesModule declaration with the same name accross two different files. Error: @providesModule naming collision: Duplicate module name: react-native-vector-icons Paths: /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/local-cli/rnpm/core/test/fixtures/files/package.json collides with /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/Libraries/Animated/release/package.json This error is caused by a @providesModule declaration with the same name accross two different files. at HasteMap._updateHasteMap (/Users/chandlervdw/Repos/Relay/mobile/node_modules/node-haste/lib/DependencyGraph/HasteMap.js:162:15) at /Users/chandlervdw/Repos/Relay/mobile/node_modules/node-haste/lib/DependencyGraph/HasteMap.js:140:25
Extrañamente, /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/local-cli/rnpm/core/test/fixtures/files/package.json
realidad enumera react-native-vector-icons
como el nombre para ¿¿¿el módulo???
Si elimino ese archivo, el error ya no ocurre, pero el empaquetador se atasca al 93% y se queja de que no se encontró una biblioteca completamente irrelevante.
npm
mi repo e incluso reinstalé todo, incluyendo npm
, rnpm
, e incluso la actualización del node
. Estoy ejecutando las mismas versiones de todo lo que mis compañeros de equipo, quienes pueden ejecutar el empaquetador sin problemas.
Publicar esto como una respuesta en caso de que alguien más tenga este problema en el futuro.
La ejecución de npm start
con sudo
permisos otorga los privilegios correctos cuando el administrador de paquetes de nodos ejecuta la fase de comstackción inicial. Esto solo parece suceder si el shell / usuario desde el que está ejecutando tiene privilegios restringidos. Forzar la escalada de privilegios para sudo le da al administrador del paquete control total para completar la comstackción.
Estaba recibiendo errores como
Failed to build DependencyGraph: @providesModule naming collision: Failed to build DependencyGraph: @providesModule naming collision: Duplicate module name: accepts Duplicate module name: accepts
Lo resolví eliminando el caché .npm
y .npm
ejecutar el packager
con --reset-cache
rm -rf ~/.npm
sudo
o chown
no lo arreglaron por mi. Me sale el mismo error de la misma biblioteca , muy extraño:
Failed to build DependencyGraph: @providesModule naming collision: Duplicate module name: react-native-vector-icons Paths: /Users/collumj/research/k9fresh/ios/build/Build/Products/Debug-iphonesimulator/kisharNine.app/package.json collides with /Users/collumj/research/k9fresh/node_modules/react-native/local-cli/core/__fixtures__/files/package.json
No hay necesidad de sudo
cuando me encuentro con esto.
Advertencia: destructivo , verifique primero.
rm -rf android ios git reset --hard npm start
Esto lo arregla cada vez. RN 0.39.2
edición: más tarde, creo que solucioné esto desvinculando la lib de react-native-vector-icons
; Creo que las instrucciones que recibí me hicieron duplicar el enlace o estaban desactualizadas de alguna manera.
Después de limpiar el caché nvm y reinstalar todos los node_modules, me di cuenta de que estaba teniendo este problema debido a la reactividad del flujo del enrutador nativo.
Lo arreglé con una baja de react-native-router-flux@3.38.1
a react-native-router-flux@3.38.0
Más detalles aquí: https://github.com/aksonov/react-native-router-flux/issues/1816