2016-08-01 3 views
4

Когда я установить определенный пакет НОГО мой реагировать родной проект и попытаться запустить его я получаю следующее сообщение об ошибке:Реагировать Native модуля Дублированного именование столкновения

This error is caused by a @providesModule declaration with the same name accross two different files. 
Error: @providesModule naming collision: 
Duplicate module name: promiseRejectionIsError 
Paths: 

projectname/node_modules/react-native-stripe-api/node_modules/react-native/Libraries/promiseRejectionIsError.js collides with 

projectname/node_modules/react-native/Libraries/promiseRejectionIsError.js 

Проблемы: Этот пакете react-native-stripe-api, кажется, установка другой реакции и реактивный модуль, который противоречит всем модулям проекта.

Я думаю, что причина этого в том, что конкретная версию реагировать и реагировать на родные модули определяются как зависимость в реакцию родной полосы-апи/package.json:

"dependencies": { 
    "babel-polyfill": "6.9.1", 
    "react": "15.1.0", 
    "react-native": "0.27.2" 
    }, 

Это кажется как они должны быть удалены.

Может ли кто-нибудь с большим знанием о npm подтвердить, что это на самом деле правильный способ определения зависимостей узлов. И соответствующее решение для решения проблемы.

ответ

5

Ваша оценка верна

Could someone with more knowledge about npm confirm this is actually the correct way of defining node dependencies.

Они должны ссылаться react как peerDependencies

And the appropriate solution to resolve the problem.

QuickFix: Удалить дополнительные реагировать версии

Longfix:Submit a pull request с реагировать как peer dependency

0

Вы должны удалить папку node_modules, а затем выполнить npm cache clean, убедитесь, что нет кэш временных файлов или папок (как react-native-packager-cache-81b2c446 и т.д.) под корневой папке проекта, а затем повторно выполнить npm install

Смежные вопросы