2017-03-20 5 views
0

Ich habe ein Problem, das versteht, wie sepcify eine gültige Version für react, die ihre Peer-Abhängigkeiten (react-native und) erfüllt. Hier ist mein package.json:Abhängigkeitsproblem während der NPM-Installation

... 
"dependencies": { 
    "react": "^15.3.2", 
    "react-native": "0.35.0" 
    "react-redux": "4.4.5", 
    "redux": "3.6.0", 
} 

Initial dev Arbeit an diesem Projekt (~ 2 Monate) hatten keine Probleme während npm install, aber dieses Repo in eine frische Umgebung Klonen und läuft npm install produziert folgende Themen:

npm WARN peerDependencies The peer dependency [email protected]~15.3.1 included from react-native will no 
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency 
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly. 

npm ERR! node v4.4.7 
npm ERR! npm v2.15.8 
npm ERR! code EPEERINVALID 

npm ERR! peerinvalid The package [email protected] does not satisfy its siblings' peerDependencies requirements! 
npm ERR! peerinvalid Peer [email protected] wants [email protected]~15.3.1 
npm ERR! peerinvalid Peer [email protected] wants [email protected]^0.14.0 || ^15.0.0-0 

Es scheint zu versuchen, zu installieren [email protected], die die neueste Version ab 20. März 2017 ist, und ist soweit ich verstehe die ^ semver Spezifikation richtig.

Ich habe versucht, die Angabe der Version 15.3.1, 15.3.2, ^15.3.1, ^15.3.2, ~15.3.1, etc etc, aber egal, was ich eingeben, bleiben die Fragen.

Auch an der Datei auf https://github.com/facebook/react-native/blob/0.35-stable/package.json sah:

"peerDependencies": { 
    "react": "~15.3.1" 
}, 

und auf https://github.com/reactjs/react-redux/blob/4.x/package.json:

"peerDependencies": { 
    "react": "^0.14.0 || ^15.0.0-0 || ^15.4.0-0", 
    "redux": "^2.0.0 || ^3.0.0" 
}, 

Ich bin relativ neu in package.json Dateien wie diese, und hoffentlich ist dies eine einfache Lösung, aber Alles, was ich versucht habe, kommt leer.

+0

Oh, auch vielleicht in Betracht ziehen, Ihre Node und Npm-Versionen zu aktualisieren, die ziemlich alt sind. – John

Antwort

1

[email protected] benötigt eine React-Version von 15.3.x, es ist nicht kompatibel mit react 15.4.

Ändern "react": "^15.3.2" zu "react": "~15.3.2" in Ihren Abhängigkeiten und tun eine frische npm install sollte Ihr Problem lösen.

+0

Ich überprüfe das nochmal, wie in meiner Frage: "Ich habe versucht, die Version 15.3.1, 15.3.2,^15.3.1,^15.3.2, ~ 15.3.1, etc etc" anzugeben (inklusive 15.3.2 Ich denke) –

+0

Welp, scheint, dass war die eine, die ich brauchte, um dieses Abhängigkeitsproblem zu lösen. Öffnet ein weiteres Problem mit "reactive-native-router-flux", das "react" benötigt: "^ 15.4.2", aber dies löste das unmittelbare Problem. –

0

Es könnte sich lohnen, die Abhängigkeiten neu zu installieren und hoffen, dass die aktuelle Version für alles passt.

Mit anderen Worten, entfernen Sie diese Zeilen aus Ihrem Paket.json, entfernen Sie Ihre Module mit rm -rf node_modules, und gehen Sie dann npm i --save react react-native redux react-redux.

Alternativ, Kasse https://github.com/react-community/create-react-native-app und erstellen Sie eine neue App und vergleichen Sie die package.json mit Ihren.

Verwandte Themen