Next.js 14安装drizzle-orm遇ERESOLVE依赖冲突错误求助
解决Next.js 14中安装drizzle-orm时的ERESOLVE依赖冲突问题
问题根源:你在执行npm i drizzle-orm postgres时触发的ERESOLVE错误,是因为drizzle-orm间接依赖的@op-engineering/op-sqlite关联了react-native@0.74.0,后者要求peer依赖react@18.2.0,但你的项目已安装react@18.3.1,版本不匹配导致npm无法完成依赖解析。
以下是几种可行的解决方法:
方法一:跳过peer依赖检查(推荐,适合小版本差异场景)
执行带--legacy-peer-deps参数的安装命令,让npm忽略peer依赖版本不匹配的问题:npm i drizzle-orm postgres --legacy-peer-deps由于react 18.3.x和18.2.x属于同大版本的小升级,兼容性通常有保障,这个方法不会引入兼容性风险。
方法二:临时降级react版本
先将react和react-dom降级到18.2.0,再安装目标依赖:npm i react@18.2.0 react-dom@18.2.0 npm i drizzle-orm postgres注意:如果你的项目依赖了react 18.3.x的专属新特性,这个方法可能不适用,需要谨慎选择。
方法三:使用yarn安装依赖
yarn的依赖解析逻辑与npm不同,对于这种小版本的peer依赖冲突,通常会自动兼容处理:yarn add drizzle-orm postgres方法四:通过package.json强制覆盖依赖版本
在项目的package.json中添加overrides配置,强制让@op-engineering/op-sqlite使用你项目中的react版本:"overrides": { "@op-engineering/op-sqlite": { "react": "18.3.1" } }保存配置后,重新执行安装命令:
npm i drizzle-orm postgres
内容的提问来源于stack exchange,提问作者KWIZERA Aimable
相关产品推荐
相关产品推荐

