Bitbucket Pipeline执行yarn prisma:generate报错求助
解决Prisma Generate在Bitbucket Pipeline中报错的问题
问题原因
Prisma的安全规则限制了将客户端生成到node_modules/prisma/prisma-client目录——这个目录属于Prisma核心依赖包的一部分,覆盖其内容会引发潜在的依赖冲突或运行时问题,即便你之前的配置能正常运行,后续的版本更新或环境调整也可能触发这个校验。
解决方案
1. 使用默认生成路径(推荐)
直接移除schema.prisma中的output配置,Prisma会自动将客户端生成到项目根目录的.prisma/client,且@prisma/client的导入会自动转发到该路径,无需修改任何业务代码:
generator client { provider = "prisma-client-js" // 移除output字段,使用默认路径 }
2. 确保Pipeline执行顺序正确
在Pipeline中必须先完成依赖安装,再执行生成命令,避免因依赖未就绪导致的异常。示例配置:
steps: - step: name: 安装依赖 script: - yarn install artifacts: - node_modules/** - step: name: 生成Prisma Client script: - yarn prisma:generate
3. 自定义路径(不推荐)
如果必须指定自定义路径,选择项目内的非node_modules目录,比如src/prisma-client,但需要同步修改代码中的导入路径:
generator client { provider = "prisma-client-js" output = "../src/prisma-client" }
代码中导入改为:
import { PrismaClient } from './src/prisma-client'
4. 清理Pipeline缓存
如果你的Pipeline配置了node_modules缓存,尝试清理缓存后重新安装依赖,避免旧缓存文件引发的校验冲突。
内容的提问来源于stack exchange,提问作者koko90
相关产品推荐
相关产品推荐

