UNMET PEER DEPENDENCY做出反应

时间:2017-04-26 14:11:19

标签: javascript node.js npm

我遇到与反应相关的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安装我的反应时,它抱怨反应和反应高度的对等依赖性:

├─┬ 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",
...

在完成这些更改后,我删除了node_modules文件夹rm -rf,并将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.

更新软件包或与自身有关的问题是否有问题?

1 个答案:

答案 0 :(得分:4)

您的react版本不符合react-collapse要求。它并不意味着两个软件包可以一起工作,只需尝试一下,如果一切都按预期工作。

但是如果你需要解决这个问题,你有两种方法可以做到这一点:

第一种方式

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

第二种方式

如果您确实需要使用0.14.9版本,则应找到与您的reactjs版本兼容的react-collapse版本。

为此,请键入您的控制台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。如果您的版本是&gt; 3然后它意味着必须手动安装对等依赖项。我想情况就是这样,版本3.0.0在2015年中期发布。

  

显式删除了对等依赖项的自动安装   3点3分,因为它会导致比试图解决的问题更多的问题。

请阅读official npm changelog,您正在寻找&#34;重大变更&#34;。

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