Ошибка: jest-haste-map: конфликт имен @providesModule при использовании локальной зависимости

Я использую локальный модуль в package.json, который также имеет react-native в качестве зависимости.

В моем приложении package.json:

"react": "16.4.1",
"react-native": "0.56.0",
"react-native-services": "file:///Users/R01/Projects/react-native-services"

In my react-native-services package.json:

"react": "16.4.1",
"react-native": "0.56.0"

Итак, при запуске react-native run-android Metro Bundler выдает:

Looking for JS files in
   /Users/R01/Projects/RNApp
   /Users/R01/Projects/react-native-services 


Metro Bundler ready.

Loading dependency graph...(node:72824) UnhandledPromiseRejectionWarning: Error: jest-haste-map: @providesModule naming collision:
  Duplicate module name: Sample
  Paths: /Users/R01/Projects/react-native-services/node_modules/react-native/Libraries/Sample/package.json collides with /Users/R01/Projects/RNApp/node_modules/react-native/Libraries/Sample/package.json

 This error is caused by a @providesModule declaration with the same name across two different files.
    at setModule (/Users/R01/Projects/RNApp/node_modules/jest-haste-map/build/index.js:446:17)
    at workerReply (/Users/R01/Projects/RNApp/node_modules/jest-haste-map/build/index.js:496:9)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:182:7)
(node:72824) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:72824) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
error: bundling failed: Error: jest-haste-map: @providesModule naming collision:
  Duplicate module name: Sample
  Paths: /Users/R01/Projects/react-native-services/node_modules/react-native/Libraries/Sample/package.json collides with /Users/R01/Projects/RNApp/node_modules/react-native/Libraries/Sample/package.json

This error is caused by a @providesModule declaration with the same name across two different files.
    at setModule (/Users/R01/Projects/RNApp/node_modules/jest-haste-map/build/index.js:446:17)
    at workerReply (/Users/R01/Projects/RNApp/node_modules/jest-haste-map/build/index.js:496:9)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:182:7)

Я уже пробовал:

  • И с npm, и с yarn (обновленными) установками, но react-native run-android всегда выдает одну и ту же ошибку.
  • Watchman watch-del-all rm -rf node_modules && npm install rm -fr $ TMPDIR / react- * npm cache clean npm start - --reset-cache

person R01010010    schedule 20.10.2018    source источник


Ответы (4)


watchman watch-del-all

rm -rf node_modules && npm install

rm -fr $TMPDIR/react-*
npm cache clean
npm start -- --reset-cache

, чтобы узнать больше

person Thakur Anil    schedule 20.10.2018
comment
черт возьми, я пробовал это дважды, и после второго раза это сработало .. может быть, последняя команда или idk - person luky; 12.07.2019
comment
@Thakur, это не работает для меня, потому что в конечном итоге он снова создаст этот каталог /ios/build/Archive/DEV.xcarchive/Products/Applications/DEV.app/assets/node_modules/react-native/package.json, когда я перейду к генерации .ipa. - person Daniel; 17.09.2019

Столкнулся с такой же проблемой Решил !!

Все пакеты npm в проекте имеют модули узлов. Убедитесь, что каталог node_modules внутри пакетов не должен включать уже существующий модуль node.

В моем случае react-native присутствовал в node_modules моего проекта, а также node_modules другой разветвленной библиотеки.

Поскольку библиотека была разветвлена, я мог удалить из нее каталог node_modules, и проблема была решена.

person Rushikesh Bharad    schedule 16.04.2019

Я отвечаю сам.

В качестве временного решения, учитывая, что установка зависимостей в peerDependencies тоже не сработала, я поместил react и react-native в devDependencies пакета react-native-services.

person R01010010    schedule 20.10.2018

У меня тоже такая же ошибка. Я попробовал следующие шаги, он работает как очаровательный.

Удалите все папки, связанные с реагированием, из "% appdata% \ Temp", а затем попробуйте следующие команды:

rimraf node_modules
npm cache clean --force
npm install
rm -rf ios/build

Замени /Users/Jebasuthan/XcodeProject/Game/ios/Pods/React/package.json на другое

нерекурсивный

Изменение Xcode

person Jebasuthan    schedule 23.02.2019
comment
Я не вижу Пути поиска платформы. Какая это версия Xcode? Моя проблема в том, что я продолжаю получать этот каталог, генерирующий /ios/build/Archive/DEV.xcarchive/Products/Applications/DEV.app/assets/node_modules/react-native/package.json при создании .ipa. что противоречит /node_modules/react-native/package.json - person Daniel; 17.09.2019
comment
@Daniel Моя версия Xcode - версия 10.3 (10G8). Попробуйте удалить /ios/build/Archive/DEV.xcarchive/Products/Applications/DEV.app/assets/node_modules/react-native/package.json. - person Jebasuthan; 18.09.2019
comment
именно это я и сделал, и это сработало. - person Daniel; 18.09.2019