2016-11-30 2 views
3

Beschreibung

In meinem Projekt ich "react-native": "0.36.0" und unter den Abhängigkeiten bin mit:Reagieren india Kollision Fehler zu benennen, wenn Packager ausgeführt wird, verursacht durch "lodash" und "Yeoman-Generator"

  • "lodash": "^4.15.0"
  • "yeoman-generator": "^0.24.1"

Bei der Verwendung von Versionen höher als "^3.10.1" für "lodash" und "0.21.2" für "yeoman-generator" Ich bekomme Namenskonflikte auf "lodash", "inquirer" und "cli-width" wenn Packager läuft.

Reproduktion

Sind die Abhängigkeiten oben beschrieben und ausgeführt: react-native start --reset-cache

Ergebnis:

jest-haste-map: @providesModule naming collision: 
Duplicate module name: inquirer 
    Paths: /CoolProject/node_modules/react-native/node_modules/yeoman-generator/node_modules/inquirer/package.json collides with /CoolProject/node_modules/react-native/node_modules/inquirer/package.json 

This warning is caused by a @providesModule declaration with the same name across two different files. 
jest-haste-map: @providesModule naming collision: 
    Duplicate module name: lodash 
    Paths: /CoolProject/node_modules/react-native/node_modules/lodash/package.json collides with /CoolProject/node_modules/react-native/node_modules/inquirer/node_modules/lodash/package.json 

This warning is caused by a @providesModule declaration with the same name across two different files. 
jest-haste-map: @providesModule naming collision: 
    Duplicate module name: cli-width 
    Paths: /CoolProject/node_modules/react-native/node_modules/yeoman-generator/node_modules/cli-width/package.json collides with /CoolProject/node_modules/react-native/node_modules/cli-width/package.json 

This warning is caused by a @providesModule declaration with the same name across two different files. 

Lösung

die gleichen Versionen verwenden für "lodash" und "yeoman-generator" als die Gebrauchten in [email protected] (zB "^3.10.1" für "lodash" und "0.21.2" für "yeoman-generator") behebt das Problem, aber sie zu ändern ist im Moment keine Option für mich, vor allem, weil "yeoman-generator" die Abhängigkeit einer anderen Abhängigkeit ist. Gibt es eine andere mögliche Lösung?

Danke!

aktualisieren

Mehr Informationen zu diesem Thema kann ich gepostet in der react-native Gihub Frage zu finden: https://github.com/facebook/react-native/issues/11200

Update 2

Upgrade react-native-0,39 das Problem löst. Die eigentliche Fix scheint die Entfernung der scheinbar ungenutzt (und vielleicht veraltet) yeoman-generator Abhängigkeit zu sein: https://github.com/facebook/react-native/commit/1fd7a574ba538d05da4be841c84a70766464ec13

+0

Welche Version von npm verwenden Sie? –

+0

npm v3.10.8 und Knoten v7.0.0 –

Antwort

0

Dies geschieht in der Regel, wenn Sie npm-yarn wechseln, wenn Module installieren oder Projekte der Einrichtung unter Verwendung nativer React. Eine einfache npm install schließt normalerweise dieses Problem, ohne die Konfiguration Ihres Projekts zu beschädigen.

npm install wird Ihnen mitteilen, dass einige Ihrer Module entweder veraltet sind oder auf einer anderen als der React Native Version installiert sind und alles tun, um das Problem zu beheben. Wenn Sie Ihre Konfiguration wirklich bereinigen möchten, beachten Sie auch die npm WARN gentlyRm Warnungen zu Paketen, die beiseite gelegt, aber nicht entfernt werden.