![](/img/trans.png)
[英]how to resolve 'yarn package has unmet peer dependency'
[英]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-loader
和style-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 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.