Npm同伴依赖错误

11

每次运行npm install命令时,我都会反复收到npm对等依赖错误。这是我的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

{
  "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"
  }
}


尝试使用此链接获取准确的对等依赖项列表 https://www.npmpeer.dev/packages/react-datepicker/compatibility - faboulaws
2个回答

13

首先,那些不是错误,而是警告。它们并不会阻止你的代码运行,只是在发现依赖有问题时提醒你。

实际上,peerDependencies 是一种包使用的方式,可以指定,“要使用我,你还应该安装 x 版本的 y 包”。在你的情况下,有两个问题:

  • 那个版本的 react-datepicker 需要你使用 React 14,但你使用的是 React 15。如果你将 react-datepicker 更新到最新版本,那么它将与 v15 兼容。话虽如此,在这两个 React 版本之间几乎没有重大变化,所以如果你因某些原因被卡在这个特定版本的日期选择器上,忽略警告应该是安全的,具体情况可能存在差异。
  • babel-loader 依赖于 Webpack,但你没有安装任何版本的它。这似乎是你的一种错误;运行 npm install webpack --save-dev 就可以解决。

希望有了这些背景信息,你就能理解如何在以后解释这些警告了!


最近的npm出现了一些错误。 - dude

2

这些是警告而不是错误,但仍然值得修复。

  • react-datepicker:您应该升级到最新版本(0.27.0),它将react@^15.0.0声明为对等依赖项。
  • babel-loader安装说明解释说,在npm@3中,您需要在package.json中显式声明对等依赖项(如webpack)(使用npm i webpack --save-dev)。

可以忽略desktop-react的警告。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接