我遇到了与 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
命令,结果将是
因为我们选择了@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/