刚刚遇到了这个错误:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: nexttwin@0.1.0
npm ERR! Found: react@17.0.1
npm ERR! node_modules/react
npm ERR! react@"17.0.1" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.8.0" from react-hook-mousetrap@2.0.4
npm ERR! node_modules/react-hook-mousetrap
npm ERR! react-hook-mousetrap@"*" from the root project
npm ERR!
我正在尝试安装的模块似乎与我所安装的不同版本的其它依赖项有冲突。看起来npm在这方面已经改变了行为,现在会让安装失败。
我该怎么办来修复这个问题?我不想因为这个问题降级我的React版本。
我知道有一个叫做--legacy-peer-deps
的标志,但我不确定它具体是做什么的,是否建议使用它/潜在的缺点是什么?我觉得npm让安装失败肯定有原因。
这很奇怪,因为我一直在使用yarn
,最近一切都很好。
npm install xxxx --legacy-peer-deps
命令。安装成功了,但我不确定这样解决问题是否是一个好主意,因为我并不完全理解这个标志的含义,所以我想问一下。但是我还没有找到这个标志的真正作用!:( - antonwilhelm--legacy-peer-deps
和--force
有什么不同,因为我的npm
推荐使用其中任何一种方式:npm ERR! Fix the upstream dependency conflict, or retry this command with --force, or --legacy-peer-deps
。请将此内容翻译成通俗易懂的中文,但不要改变原意。 - Nate Anderson