prisma generate报错无法解析依赖树(Prisma+Postgresql+NextJS)如何解决?
解决方案
错误根因
你遇到的报错本质是项目内React相关依赖版本不匹配:项目根依赖安装的React版本为17.0.2,但react-dom版本固定为17.0.1,react-dom强制要求peer依赖的React版本必须等于17.0.1,触发依赖树校验失败。平时运行应用不会触发严格的peer依赖校验,因此没有报错。
可执行的解决步骤
- 方案1(最推荐,永久解决):对齐React与react-dom版本
- 打开项目根目录的
package.json,将react-dom的版本号从17.0.1修改为^17.0.2,和react的版本规则保持一致 - 删除项目下的
node_modules文件夹、yarn.lock(Yarn用户)或package-lock.json(NPM用户) - 重新执行
yarn install或npm install,依赖安装完成后再运行prisma generate即可正常执行
- 打开项目根目录的
- 方案2(临时规避,不需要修改依赖版本)
- 注意不同包管理器的忽略peer依赖参数不同:Yarn没有
--legacy-peer-deps参数,该参数是NPM v7+专属参数,Yarn要忽略peer依赖校验需使用yarn install --ignore-peer-deps - 若你使用NPM仍提示参数不存在,先执行
npm -v检查版本,低于v7的NPM版本不支持该参数,先升级NPM到最新稳定版后再执行npm install --legacy-peer-deps - 若仅需要临时执行
prisma generate,可以添加跳过自动安装的参数,直接执行prisma generate --skip-install,即可跳过prisma触发的依赖校验步骤
- 注意不同包管理器的忽略peer依赖参数不同:Yarn没有
内容的提问来源于stack exchange,提问作者antonwilhelm
相关产品推荐
相关产品推荐

