2017-04-26 6 views
5

Ich habe Javascript Probleme im Zusammenhang mit reagieren. Dies ist der von Chrom gefangen Fehler bei Seite rendert:UNMET PEER ABHÄNGIGKEIT mit reagieren

Uncaught TypeError: Super expression must either be null or a function, not undefined 
at _inherits (application.js:16301) 
at application.js:16310 
at Object.232.prop-types (application.js:16549) 
at s (application.js:1) 
at application.js:1 
at Object.233../Collapse (application.js:16574) 
at s (application.js:1) 
at application.js:1 
at Object.1.react (application.js:78) 
at s (application.js:1) 

Wenn ich habe meine installieren reagieren npm verwenden es beschwert sich über Peer-Abhängigkeiten reagieren und reagieren-height:

├─┬ UNMET PEER DEPENDENCY [email protected] 
│ ├─┬ [email protected] 
│ │ └─┬ [email protected] 
│ │ ├── [email protected] 
│ │ ├─┬ [email protected] 
│ │ │ ├─┬ [email protected] 
... 

Und:

├─┬ UNMET PEER DEPENDENCY [email protected] 
│ └─┬ [email protected] 
│ └─┬ [email protected] 
│  └── [email protected] 

Danach änderte ich meine package.json-Datei:

"react": "0.14.9", 
"react-bootstrap": "^0.28.1", 
"react-collapse": "^2.2.1", 
"react-dom": "^0.14.3", 
"react-height": "2.2.1", 
... 

Nach diesen Änderungen habe ich komplett node_modules Ordner mit rm -rf gelöscht einen npm Cache sauber und erneut zu installieren.

Das SEHR GLEICHE Problem tritt weiterhin auf. Ich bemerke 2 Warnungen:

npm WARN [email protected] requires a peer of [email protected]>=15.3 but none was installed. 
npm WARN [email protected] requires a peer of [email protected]^3 but none was installed. 

Gibt es ein Problem, um die Pakete oder ein Problem im Zusammenhang mit reagieren zu aktualisieren?

+0

Ihre React-Version ist veraltet. 'benötigt einen Peer von react @> = 15.3', Ihre installierte Version ist' 0.14.9'. – evolutionxbox

+0

Ich habe eine vollständige Aktualisierung durchgeführt, und das Uncaught typeFehler-Problem bleibt bestehen. – learner

Antwort

3

Ihre react Version entspricht nicht den Anforderungen react-collapse. Es bedeutet nicht wirklich, dass beide Pakete nicht zusammenarbeiten können, versuchen Sie es einfach und wenn alles wie gewünscht funktioniert.

Aber wenn Sie brauchen, um zu beheben, dass Sie zwei Möglichkeiten haben, dies zu tun:

Erster Weg

"react": "0.14.9", Zeile löschen und npm i --save react laufen. NPM installiert das neueste Reaktionspaket. Der Fehler sollte behoben sein.


Zweiter Weg

Wenn Sie wirklich 0.14.9 Version verwenden müssen, sollten Sie react-collapse Version finden, die mit Ihrer reactjs Version kompatibel ist.

Dazu geben Sie Ihre Konsole ein npm show react-collapse versions - ein array der Datensätze wird angezeigt.

Jetzt müssen wir eine frühere Version auswählen und die peerDependencies unseres ausgewählten Pakets überprüfen.

Wir verwenden npm view [email protected] Befehl, wird das Ergebnis

enter image description here

sein Weil wir @3.0.0 Version ausgewählt, die in unserem Fall in Ordnung ist, müssen wir es installieren. Der folgende Befehl erledigt die Arbeit npm install --save [email protected].

UPDATE

Wenn obige Lösung nicht funktioniert. Bitte installieren Sie fehlende Peer-Abhängigkeiten manuell über npm i --save <package-name>.

Explaination:

Überprüfen Sie Ihre npm Version npm -v tun. Wenn Ihre Version> 3 ist, bedeutet dies, dass Peer-Abhängigkeiten manuell installiert werden müssen. Ich denke, dass der Fall ist, Version 3.0.0 wurde Mitte 2015 veröffentlicht

Die automatische Installation von Peer-Abhängigkeiten explizit mit npm 3 entfernt wurde, da es mehr Probleme verursachen, als es versucht zu lösen.

Bitte lesen Sie official npm changelog, Sie suchen nach Abschnitt "brechen Änderungen".

Es gibt CLI tool, die ein NPM-Paket und seine Peer-Abhängigkeiten automatisch installiert. Das könnte Sie interessieren.

+0

Ich habe ein komplettes Update gemacht. Ich habe meine package.json-Dateien geändert und das Uncaught-Problem typeerror bleibt bestehen. – learner

+0

Ich habe meine Antwort aktualisiert, sehe sie jetzt, wenn es dir hilft. – loelsonk

Verwandte Themen