簡體   English   中英

如何解決 create-react-app 包的 webpack“未滿足的對等依賴項”警告?

[英]How can I resolve the webpack "unmet peer dependency" warning for my create-react-app package?

create-react-app (CRA) 是一個命令行工具,可幫助您設置新的 React 應用程序。 它創建了一個包含react-scripts依賴項的package.json

react-scripts包具有webpack依賴項(當前版本4.19.1 。)

craco是一個可以輕松配置create-react-app

我發布了一個craco-less包,它是一個craco插件。 它可以輕松設置對create-react-app Less 支持。 craco-less依賴包括css-loaderstyle-loader包,這些包有webpack@^4.0.0在他們peerDependencies

當我安裝craco-less包( yarn add craco-less )時,我收到以下警告:

warning "craco-less > css-loader@1.0.1" has unmet peer dependency "webpack@^4.0.0".
warning "craco-less > less-loader@4.1.0" has unmet peer dependency "webpack@^2.0.0 || ^3.0.0 || ^4.0.0".

我嘗試將其添加到我的package.json

"peerDependencies": {
  "webpack": "^4.0.0"
}

但這只是給了我一個額外的警告:

warning "craco-less > css-loader@1.0.1" has unmet peer dependency "webpack@^4.0.0".
warning "craco-less > less-loader@4.1.0" has unmet peer dependency "webpack@^2.0.0 || ^3.0.0 || ^4.0.0".
warning " > craco-less@1.2.2" has unmet peer dependency "webpack@^4.0.0".

我還嘗試將webpack添加為顯式依賴項,這在 90% 的情況下都有效,但有時會導致create-react-app因此 GitHub 問題中描述的錯誤而崩潰:

npm 包崩潰

(似乎只發生在npm install ,而不是yarn install 。)

我剛剛意識到這個錯誤的發生是因為react-scripts依賴於特定的 webpack 版本,而我的包有一個松散的依賴( ^4.0.0 )。 但我希望react-scripts依賴覆蓋這個松散的版本約束並安裝4.19.1而不是最新版本( 4.27.1 )。 我認為這就是它使用yarn而不是npm原因,因為也許yarn具有更智能的依賴解析。

我的庫依賴於"react-scripts": "^2.1.1" (靈活),所以我想知道是否有辦法委托他們的webpack依賴項而不是安裝最新版本?

4.19.1指定為硬編碼版本會很痛苦,因為每當他們更新react-scripts包時,我都必須一直更新craco-less庫。 或者,如果無法在package.json完成,也許我可以編寫一個腳本來自動執行這些更新。

謝謝!

yarn upgrade webpack@^4.0.0

參考

同樣的問題在這里。 有一些開發人員為此投入了相當多的時間,我們最終換成了 Yarn。 詹金斯需要一些調整:

構建環境:

Provide Node & npm bin/ folder to PATH

NodeJS Installation: 8.10 

版本 >8

Exe Shell 前言:

curl -o- -L https://yarnpkg.com/install.sh | bash -s
export PATH=$HOME/.yarn/bin:$PATH

yarn install
yarn run build

暫無
暫無

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

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