Bitte überprüfen Sie das Bild.
Ich denke, es hat mit package.json
zu tun, bin mir aber nicht ganz sicher.
Antworten auf den Kommentar für weitere Informationen
Am Anfang habe ich material-ui
installiert.
Die detaillierten Meldungen finden Sie hier:
I:\Reak-Boilerplate> Npm Install Material-UI
[email protected] I:\react-boilerplate
| + - [email protected]
| + - [email protected]
| + - UNMET PEER DEPENDENCY [email protected]^15.4.2
| + - [email protected]
| + - [email protected]
| + - [email protected]
| | + - UNMET PEER DEPENDENCY [email protected]^15.4.2
| | `- [email protected]
| + - [email protected]
| | `- [email protected]
| `- [email protected]
+ - UNMET PEER DEPENDENCY (PEER-ABHÄNGIGKEIT ENTFERNEN) [email protected]^2.0.1
`- UNMET PEER DEPENDENCY [email protected]
Dann habe ich versucht, die UNMET PEER DEPENDENCY durch npm install
zu beheben.
Der erste Versuch gibt dies:
[email protected] I:\react-boilerplate
+ - [email protected] ungültig
`- UNMET PEER DEPENDENCY [email protected]
Wie Sie sehen, ist dies die erste invalid
die ich getroffen habe.
Also versuche ich nur herauszufinden, warum diese invalid
herausspringt und wie man sie repariert.
Antworten auf den Kommentar für weitere Informationen
Hier ist der Abschnitt package.json, dependencies
Abhängigkeiten: {"babel-polyfill": "6.20.0", "chalk": "1.1.3", "compression": "1.6.2", "cross-env": "3.1.3", " express: 4.14.0, fontfaceobserver: 2.0.7, unveränderlich: 3.8.1, intl: 1.2.5, invariant: 2.2.2, ip: 1.1.4, lodash: 4.17.2, minimist: 1.2.0, react: 15.4.1, react-dom: 15.4.1 "React-Helm": "3.2.2", "React-Intl": "2.1.5", "React-Redux": "4.4.6", "React-Router": "3.0.0" React-Router-Redux: 4.0.6, React-Router-Scroll: 0.4.1, Redux: 3.6.0, Redux-unveränderlich: 3.0.8, redux-saga: 0.14.0, reselect: 2.5.4, sanitize.css: 4.1.0, styled-components: 1.1.2, warning: 3.0.0 "," whatwg-fetch ":" 2.0.1 "},
und der Abschnitt devDependencies
"devDependencies": {"babel-cli": "6.18.0", "babel-core": "6.21.0", "babel-eslint": "7.1.1", "babel-loader": "6.2. 10 "," babel-plugin-dynamic-import-node ":" 1.0.0 "," babel-plugin-react-intl ":" 2.2.0 "," babel-plugin-react-transform ":" 2.0. 2 "," babel-plugin-transform-es2015-modules-commonjs ":" 6.18.0 "," babel-plugin-transform-react-constant-elements ":" 6.9.1 "," babel-plugin-transform- React-Inline-Elemente ":" 6.8.0 "," Babel-Plugin-Transform-React-Remove-Prop-Typen ":" 0.2.11 "," Babel-Preset-Latest ":" 6.16.0 "," Babel-Preset-React: 6.16.0, Babel-Preset-React-Hmre: 1.1.1, Babel-Preset-Stage-0: 6.16.0, Cheerio: 0.22.0, Circular-Dependency-Plugin: 2.0.0, Overalls: 2.11.15, CSS-Loader: 0.26.1, Enzym: 2.6.0 , "eslint": "3.11.1", "eslint-config-airbnb": "13.0.0", "eslint-config-airbnb-base": "10.0.1", "eslint-import-resolver-webpack" : "0.8.0", "eslint-plugin-import": "2.2.0", "eslint-plugin-jsx-a11y": "2.2.3", "eslint-plugin-react": "6.7.1" "eslint-plugin-redux-saga ":" 0.1.5 "," eventsource-polyfill ":" 0.9.6 "," exports-loader ":" 0.6.3 "," file-loader ":" 0.9.0 "," html-loader ": "0.4.4", "html-webpack-plugin": "2.24.1", "image-webpack-loader": "2.0.0", "exports-loader": "0.6.5", "jest-cli" : 18.0.0, fusselfrei: 3.2.1, ngrok: 2.2.4, node-plop: 0.5.4, null-loader: 0.1 .1 "," offline-plugin ":" 4.5.2 "," plop ":" 1.7.3 "," pre-commit ":" 1.1.3 "," react-addons-test-utils ":" 15.4 .1, rimraf: 2.5.4, shelljs: 0.7.5, sinon: 2.0.0-pre, style-loader: 0.13.1, url -loader ":" 0.5.7 "," webpack ":" 2.2.0-rc.3 "," webpack-dev-middleware ":" 1.9.0 "," webpack-hot-middleware ":" 2.15.0 " "}
Eine ungültige Abhängigkeit weist darauf hin, dass eine unangemessene Version eines Abhängigkeitspakets installiert wurde. In diesem Fall fordert Ihr Projekt [email protected]
an, aber stattdessen wurde Version 2.2.1
installiert. Beachten Sie, dass sich kein Caret (^) oder keine Tilde (~) im Versionsbereich befindet, was bedeutet, dass 2.2.1
keine gültige Übereinstimmung ist.
Ein weiterer Konflikt tritt mit React auf, das auf Version 15.4.1
festgelegt ist und auf den Versionsbereich ^15.4.2
aktualisiert werden sollte, wie dies von anderen Abhängigkeiten (z. B. material-ui
) gefordert wird.
Um eine neue Version einer Abhängigkeit festzulegen (um sie zu aktualisieren/zu erneuern), vergessen Sie nicht das entsprechende Speicherflag (--save
/-S
oder --save-dev
/-D
).
npm install -S [email protected]^15.4.2
Leider hängt react-tap-event-plugin
von der Version des 2.2.0-rc3
-Webpacks ab, daher sollten Sie das Webpack nicht aktualisieren. Stattdessen können Sie npm update --dev
aufrufen, um sicherzustellen, dass alle registrierten Abhängigkeiten mit den richtigen Versionen installiert sind. Wenn alles andere fehlschlägt, besteht ein naiver, aber effektiver Trick darin, den Ordner node_modules zu entfernen und alle Pakete von Grund auf neu zu installieren.
Ich habe gesehen, dass dieser Fehler bei der Ausführung eines npm install Path\Filename.tgz
auftritt, bei dem der Dateiname bei nachfolgenden npm install
-Aufrufen anders ist als bei der ursprünglichen Installation.
Insbesondere unter Windows, wo die Groß- und Kleinschreibung von Pfad und Dateiname keine Rolle spielt.
Ich habe beispielsweise einen Ordnernamen mit einem Anfangsbuchstaben in Großbuchstaben installiert und bei nachfolgenden Aufrufen den Namen in Kleinbuchstaben verwendet. Dies führte dazu, dass das Paket nicht installiert wurde, und erzeugte die rote Warnung invalid
neben dem Paketnamen.
Untersuchen Sie den package.json
und verwenden Sie den Pfad exact und den Dateinamen, um festzustellen, ob dies für Sie behoben ist.