刚刚遇到这个错误:

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英镑,一切都很好.

推荐答案

下面是我如何解决这个问题的:

First, what's happening:个钩子捕鼠器正在寻找react@16.8.0,但它没有找到它.相反,它找到了@react17.0.1,这是一个较新的版本.出于某种原因,捕鼠器不喜欢这个新版本,并且会通知您(这没什么大不了的,但他们认为值得停止您的构建).

One solution:强制安装捕鼠器想要的特定版本的react:

yarn add react@16.8.0

这样做的目的是将react版本回滚到与捕鼠器兼容的稍旧版本.你不会注意到任何不同,在future 的迭代中,希望捕鼠器会更新,所以这就消失了.

Another solution:做出全面决定,不安装任何旧版本依赖项:

npm add xxxx --legacy-peer-deps

这样做的目的是忽略此包的旧依赖项.它更全面,为你做很多决定.

Node.js相关问答推荐

赫斯基添加命令已弃用?

如何解决无法获得本地颁发者证书的问题

带有apache Couch-db和Nano的推荐引擎:过滤特定用户的视图

使用ReadableStream.管道时NodeJS Crypto Hash不正确

下一个API路由如何处理多个并发请求?

在 Docker 容器内创建一个 cron 作业(job)来执行 run.js 文件中的函数

eSignature API 的 NodeJS SDK 是否支持数据流?

express cors request.body formData显示undefined

node Axios 创建全局令牌变量以在单独的变量头中使用

获取用户 ID 后,Firebase 函数 onCreate 方法在 Firestore 上不起作用

是Electron 的密码和登录凭据的安全存储吗?

无法通过谷歌Electron 表格 api( node js)中的服务帐户访问写入

Node.js + Express + Handlebars.js + 局部视图

构建 vue cli 后如何运行生产站点

判断一个数组中的每个元素是否都在第二个数组中

如何在 Node.js 中使用 chmod

有人在 NodeJS 中实现过 wiki 吗?

为什么我会收到错误:解决方法指定过多?

Nodejs续集批量更新

路由后的 Node Express 4 中间件