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

Другие вопросы по тегам