在我的一个项目中运行
npm i
命令时,出现了以下错误:npm ERR! Found: react@17.0.2
npm ERR! node_modules/react
npm ERR! react@"^17.0.2" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.13.1" from react-qr-barcode-scanner@1.0.6
npm ERR! node_modules/react-qr-barcode-scanner
npm ERR! react-qr-barcode-scanner@"*" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
我已经阅读了有关在 package.json
中使用 overrides 属性的内容,但似乎这只适用于覆盖“常规”依赖项。
我也知道可以像错误提示那样运行 npm i --legacy-peer-deps
,但我不禁想知道:
有没有一种方法能够重写依赖项对等版本而不需要 --legacy-peer-deps
?
npm
v8不能覆盖peerDeps,而且npm install
永远无法成功解决那些深层依赖中的冲突peerDeps。 - Liu Nate