簡體   English   中英

未滿足的對等依賴與反應

[英]UNMET PEER DEPENDENCY with 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 安裝我的反應時,它抱怨反應和反應高度的對等依賴性:

├─┬ 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-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命令,結果將是

在此輸入圖像描述

因為我們在我們的案例中選擇了@3.0.0版本,我們需要安裝它。 以下命令將執行npm install --save react-collapse@3.0.0的工作。

UPDATE

如果以上解決方案不起作用。 請通過npm i --save <package-name>手動安裝缺少的peerDependencies。

闡釋:

檢查你的npm版本做npm -v 如果您的版本大於3,則表示必須手動安裝對等依賴項。 我想是這樣的,版本3.0.0在2015年中期發布。

使用npm 3顯式刪除了對等依賴項的自動安裝,因為它會導致比嘗試解決的問題更多的問題。

請閱讀官方的npm更改日志 ,您正在尋找“突破性更改”部分。

有一個CLI工具可以自動安裝NPM包及其對等依賴項。 你可能感興趣。

確保您的目錄中有package.lock.json文件。 React 使用 yarn 命令,而不是嘗試 npm install 嘗試做yarn add <package name>

在使用我的 react-elastic-carousel 構建和部署 netlify 期間,我遇到了相同的對等依賴錯誤,唯一解決它的是。

yarn add react-elastic-carousel

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM