Npm对等依赖性错误

Hri*_*ika 9 node.js npm package.json

我使用npm install命令重复获取npm peer依赖性错误.这是我的package.json,我对react和webpack有未满足的对等依赖

    npm WARN react-datepicker@0.25.0 requires a peer of react@^0.14.0 but none was installed.
    npm WARN babel-loader@6.2.4 requires a peer of webpack@1 || ^2.1.0-beta but none was installed.
    npm WARN desktop-react@1.0.0 No repository field.
    npm WARN desktop-react@1.0.0 license should be a valid SPDX license expression
Run Code Online (Sandbox Code Playgroud)

{
  "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"
  }
}
Run Code Online (Sandbox Code Playgroud)

Joe*_*lay 10

嗯,首先,那些不是错误,它们是警告.它们实际上不会阻止您的代码运行,如果您的依赖项出现问题,它们就会让您站起来.

实际上,peerDependencies包是指定一种方式,"使用我,你也应该安装x版本的y包".在您的情况下,您有两个问题:

  • 那个版本react-datepicker希望你使用React 14,但是你有React 15.如果你更新react-datepicker到最新版本,那个版本将与v15兼容 - 也就是说,如果我这两个版本的React之间几乎没有什么重大变化请记住,如果由于某种原因您使用特定版本的日期选择器,那么忽略该警告应该是安全的.不过,您的里程可能有所不同.
  • babel-loader依赖于Webpack,但您没有安装任何版本的.这似乎是你的错误; 跑npm install webpack --save-dev,这应该消失.

希望在这种背景下,您将能够理解将来如何解释这些警告!