React-Native Packager Failure: повторяющееся имя модуля
Это происходило, казалось бы, случайно во время разработки. При попытке запустить npm start
или же react-native run-ios
Я получаю следующую ошибку:
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
Как ни странно, /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/local-cli/rnpm/core/test/fixtures/files/package.json
на самом деле список react-native-vector-icons
как называется модуль???
Если я удаляю этот файл, ошибка больше не возникает, но упаковщик застревает на 93% и жалуется на то, что не найдена абсолютно не подлежащая восстановлению библиотека.
Я сдул репо и даже переустановил все, в том числе npm
, rnpm
и даже модернизация node
, Я использую те же версии всего, что и мои товарищи по команде, которые могут запускать упаковщик без проблем.
4 ответа
Публикация этого в качестве ответа на случай, если кто-то еще столкнется с этой проблемой в будущем.
Бег npm start
с sudo
permissions предоставляет правильные привилегии, когда менеджер пакетов узлов запускает начальную фазу сборки. Похоже, это происходит только в том случае, если оболочка / пользователь, от которого вы работаете, имеет ограниченные права Принудительное повышение привилегий в sudo дает менеджеру пакетов полный контроль над завершением сборки.
Я получаю ошибки как
Failed to build DependencyGraph: @providesModule naming collision:
Failed to build DependencyGraph: @providesModule naming collision:
Duplicate module name: accepts
Duplicate module name: accepts
Я решил это, удалив кэш npm .npm
и перезапуск packager
с --reset-cache
rm -rf ~/.npm
sudo
или же chown
не исправить это для меня. Я получаю ту же ошибку из той же библиотеки, очень странно:
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
Нет необходимости sudo
когда я сталкиваюсь с этим.
Предупреждение: разрушительно, проверьте в первую очередь.
rm -rf android ios
git reset --hard
npm start
Это исправляет это каждый раз. RN 0.39.2
редактировать: позже, я думаю, я исправил это, отсоединив react-native-vector-icons
Lib; Я думаю, что инструкции, которые я получил, заставили меня дублировать ссылки или были как-то устаревшими.
После очистки кеша nvm и переустановки всех узлов node_modules я понял, что у меня возникла эта проблема из-за response-native-router-flux.
Я исправил это с понижением от react-native-router-flux@3.38.1
в react-native-router-flux@3.38.0
Более подробная информация здесь: https://github.com/aksonov/react-native-router-flux/issues/1816