2016-05-12 23 views
8

Ricevo ripetutamente l'errore di dipendenza peer npm con il comando npm install. Questo è il mio package.json su cui ho insoddisfatti dipendenza pari a reagire e webpackErrore di dipendenza peer NPM

npm WARN [email protected] requires a peer of [email protected]^0.14.0 but none was installed. 
    npm WARN [email protected] requires a peer of [email protected] || ^2.1.0-beta but none was installed. 
    npm WARN [email protected] No repository field. 
    npm WARN [email protected] license should be a valid SPDX license expression 

{ 
 
    "name": "xxxxxxxxx", 
 
    "version": "x.x.x", 
 
    "description": "", 
 
    "main": "index.js", 
 
    "author": "", 
 
    "license": "xxxxxxx", 
 
    "dependencies": { 
 
    "bootstrap": "^3.3.6", 
 
    "fs": "0.0.2", 
 
    "history": "^1.17.0", 
 
    "immutable": "^3.8.1", 
 
    "isomorphic-fetch": "^2.2.1", 
 
    "lodash": "^4.11.1", 
 
    "moment": "^2.13.0", 
 
    "react": "^15.0.1", 
 
    "react-autosuggest": "^3.7.3", 
 
    "react-bootstrap": "^0.29.1", 
 
    "react-datepicker": "^0.25.0", 
 
    "react-dom": "^15.0.1", 
 
    "react-redux": "^4.4.5", 
 
    "react-router": "^2.3.0", 
 
    "react-select": "^1.0.0-beta12", 
 
    "redux": "^3.5.2" 
 
    }, 
 
    "devDependencies": { 
 
    "babel-core": "^6.7.7", 
 
    "babel-loader": "^6.2.4", 
 
    "babel-preset-es2015": "^6.6.0", 
 
    "babel-preset-react": "^6.5.0", 
 
    "bootstrap": "^3.3.6", 
 
    "css-loader": "^0.23.1", 
 
    "redux-devtools": "^3.2.0", 
 
    "style-loader": "^0.13.1" 
 
    } 
 
}

risposta

9

Beh, in primo luogo, quelli non sono gli errori, sono avvertimenti. In realtà non impediscono la pubblicazione del tuo codice, sono lì solo per dirti se c'è qualcosa di sbagliato nelle tue dipendenze.

In effetti, peerDependencies sono un modo per i pacchetti di specificare "per usare me, si dovrebbe anche avere x versione di y pacchetto installato". Nel tuo caso, ci sono due problemi:

  • Quella versione di react-datepicker si aspetta di utilizzare Reagire 14, ma si dispone di Reagire 15. Se si aggiorna react-datepicker alla versione più recente, che uno sarà compatibile con V15 - Detto questo, ci sono stati pochissimi cambiamenti tra queste due versioni di React se ricordo bene, quindi se sei bloccato usando quella particolare versione del raccoglitore di date per qualche motivo, è ignorare tale avviso. Il tuo chilometraggio può variare, però.
  • babel-loader si basa su Webpack, ma non si dispone di alcuna versione installata. Questo sembra un errore da parte tua; eseguire npm install webpack --save-dev e quello dovrebbe andare via.

Speriamo che con quel contesto sarete in grado di capire come interpretare quegli avvertimenti in futuro!

2

Ci sono avvertenze, non errori, ma vale ancora la pena ripararli.

  • react-datepicker: si dovrebbe eseguire l'aggiornamento alla versione più recente (0.27.0), che dichiara [email protected]^15.0.0 come una dipendenza pari.
  • babel-loader: la installation instructions spiegano che, con NPM @ 3 è necessario dichiarare le dipendenze tra pari (come webpack) in modo esplicito nel vostro package.json (utilizzando npm i webpack --save-dev).

Gli avvisi desktop-react possono essere ignorati.

Problemi correlati