2016-08-11 24 views
13

Stało się to pozornie losowo podczas programowania. Podczas próby uruchomienia npm start lub react-native run-ios, pojawia się następujący błąd:React-Native Packager Failure: Zduplikowana nazwa modułu

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 

dziwne, /Users/chandlervdw/Repos/Relay/mobile/node_modules/react-native/local-cli/rnpm/core/test/fixtures/files/package.json faktycznie robi lista react-native-vector-icons jako nazwę modułu ???

Jeśli usuniemy ten plik, błąd już nie występuje, ale pakieter utknął w 93% i skarży się, że nie znaleziono całkowicie nieistotnej biblioteki.

Zdmuchnęłem moje repozytorium, a nawet ponownie zainstalowałem wszystko, w tym npm, rnpm, a nawet zaktualizowałem node. Używam tych samych wersji wszystkiego, co moi koledzy z drużyny, którzy są w stanie uruchomić pakiet bez problemów.

+1

Wiem, że to brzmi głupio, ale czy próbowałeś uruchomiony z uprawnieniami sudo, miałem podobny błąd, gdy próbuje zbudować system operacyjny reagujący na Androida i działający z sudo rozwiązał konflikt. – Alex

+1

@Alex musisz żartować. To się udało! Ale DLACZEGO WRÓCIMY?!?! Straciłem cały dzień pracy z tego powodu ... – chandlervdw

+1

@chandlervdw zaufaj mi kumplu, Miałem dokładnie to, co przydarzyło mi się w tym tygodniu, przepraszam, że musiałeś marnować tyle czasu na ten błąd ... Waliłem mój Głowa przy ścianie też wyczerpała wszystkie inne drogi, jak ty! Nie lubisz menedżera pakietów npm, czasami lol! Cieszę się, że jest to dla ciebie posortowane :) – Alex

Odpowiedz

9

Publikowanie tego jako odpowiedź na wypadek, gdyby ktoś inny miał ten problem w przyszłości.

Uruchamianie npm start z sudo uprawnieniami przyznaje odpowiednie uprawnienia, gdy menedżer pakietów nodes uruchamia początkową fazę kompilacji. Wydaje się, że dzieje się tak tylko wtedy, gdy powłoka/użytkownik, z którego korzystasz, ma ograniczone uprawnienia. Wymuszenie eskalacji uprawnień do sudo daje menedżerowi pakietów pełną kontrolę nad ukończeniem kompilacji.

3

byłem coraz błędy jak

Failed to build DependencyGraph: @providesModule naming collision: 
Failed to build DependencyGraph: @providesModule naming collision: 
Duplicate module name: accepts 
Duplicate module name: accepts 

Rozwiązałem go usuwając KMP w pamięci podręcznej .npm i ponowne uruchomienie packager z --reset-cache

rm -rf ~/.npm 
+0

To powinno być zaakceptowaną odpowiedzią, ponieważ znajduję inną odpowiedź na rodzaj "oszustwa", ponieważ normalnie nigdy nie używałem "sudo" – Greg

+0

@Greg Nie zapominajmy, że "Sudo" nie istnieje w oknach i nie powinno być używane do omijać błędy uprawnień. – Hobbyist

3

sudo lub chown nie naprawić go dla mnie. Mam ten sam błąd z tej samej biblioteki, bardzo dziwne:

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 

Nie potrzeba sudo kiedy wystąpi ten.

Ostrzeżenie: niszczący, najpierw sprawdź.

rm -rf android ios 
git reset --hard 
npm start 

Naprawia to za każdym razem. RN 0.39.2

edytuj: później, myślę, że naprawiłem to przez rozłączenie biblioteki react-native-vector-icons; Wydaje mi się, że instrukcje, które otrzymałem, sprawiły, że podwoiłem się w linkach lub przestałem być nieaktualne.

Powiązane problemy