Подтвердить что ты не робот

Ошибка сбоя в сборе пакетов: дублирующее имя модуля

Это происходило случайно во время разработки. При попытке запустить 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. Я использую те же версии всего, что и мои товарищи по команде, которые могут запускать упаковщик без проблем.

4b9b3361

Ответ 1

Проводя это как ответ на всякий случай, если у кого-то еще будет эта проблема в будущем.

Запуск npm start с разрешениями sudo предоставляет правильные привилегии, когда диспетчер пакетов узлов запускает начальную фазу сборки. Это происходит только в том случае, если оболочка/пользователь, с которой вы работаете, имеет ограниченные привилегии. Принудительное повышение привилегий для sudo дает полный менеджер пакетов для завершения сборки.

Ответ 2

Я получал ошибки, например

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

Ответ 3

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

edit: позже, я думаю, я исправил это, отменив react-native-vector-icons lib; Я думаю, что инструкции, которые я получил, заставили меня удвоить связь или устали каким-то образом.