javascript - 未满足的对等依赖 react

标签 javascript node.js npm

我遇到了与 React 相关的 JavaScript 问题。这是chrome在渲染页面时捕获的错误:

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)

当我使用 npm 安装我的 react 时,它会提示 react 和 react-height 的对等依赖性:

├─┬ UNMET PEER DEPENDENCY react@0.14.9
│ ├─┬ envify@3.4.1 
│ │ └─┬ jstransform@11.0.3 
│ │   ├── base62@1.1.2 
│ │   ├─┬ commoner@0.10.8 
│ │   │ ├─┬ commander@2.9.0 
...

和:

├─┬ UNMET PEER DEPENDENCY react-height@2.2.1
│ └─┬ create-react-class@15.5.2 
│   └─┬ fbjs@0.8.12 
│     └── core-js@1.2.7 

之后,我将 package.json 文件更改为:

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

在这些更改之后,我使用 rm -rf 完全删除了 node_modules 文件夹,清理了 npm 缓存并再次重新安装。

同样的问题继续发生。我注意到 2 个警告:

npm WARN react-collapse@2.4.0 requires a peer of react@>=15.3 but none was installed.
npm WARN react-collapse@2.4.0 requires a peer of react-height@^3 but none was installed.

更新包有问题还是 react 本身有问题?

最佳答案

你的 react版本不符合react-collapse要求。这并不真的意味着这两个包不能一起工作,只是尝试一下,如果一切都按预期工作。

但如果您需要修复,您有两种方法:

第一种方式

删除"react": "0.14.9",行,然后运行 ​​npm i --save react . NPM 将安装最新的 react 包。应该修复错误。


第二种方式

如果你真的需要使用0.14.9你应该找到的版本 react-collapse与您的 reactjs 版本兼容的版本。

为此,请在您的控制台中输入 npm show react-collapse versions - 一个 array记录将显示。

现在我们必须选择一个较早的版本并检查 peerDependencies 我们选择的包。

我们使用 npm view react-collapse@3.0.0命令,结果将是

enter image description here

因为我们选择了@3.0.0在我们的例子中可以使用的版本,我们需要安装它。以下命令将完成工作 npm install --save react-collapse@3.0.0 .

更新

如果上述解决方案不起作用。请通过 npm i --save <package-name> 手动安装缺少的 peerDependencies .

解释:

检查你的 npm 版本做 npm -v .如果您的版本大于 3,则意味着必须手动安装对等依赖项。我猜是这样的,3.0.0 版是在 2015 年年中发布的。

The automatic install of peer dependencies was explicitly removed with npm 3, as it cause more problems than it tried to solve.

请阅读official npm changelog ,您正在寻找“重大更改”部分。

CLI tool它会自动安装 NPM 包及其对等依赖项。您可能感兴趣。

关于javascript - 未满足的对等依赖 react ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43636667/

相关文章:

javascript - 处理回调函数的响应

javascript - 如何从链接 vuejs 中删除目标属性?

javascript - 如何使用javascript点击windows弹出按钮?

javascript - 如何向内显示一个div到视口(viewport)

javascript - 如何使用 Javascript 将 "div"移动到某些坐标?

node.js - 无法通过 npm 使用已安装的软件包

node.js - 如何将“Chai ”和“Chai ”结合起来?

node.js - Google App Engine Flexible env 的定价,500 美元的类(class)

node.js - 无法在 Centos 服务器上安装 bcrypt node.js 模块

reactjs - webpack-cli : Invalid options object. Dev Server 已使用选项对象初始化