【问题标题】:How to run `prisma generate` in production?如何在生产中运行`prisma generate`?
【发布时间】:2021-01-06 09:16:11
【问题描述】:

我对 Prisma 代码生成在生产环境中的工作方式感到困惑。 Prisma CLI 应该安装在 devDependencies 中,但 npx prisma generate 命令需要在生产中可用,因为生成的代码对于应用程序是必需的。我该如何解决这个问题?我尝试运行 npm i --productionnpx prisma generate,这导致了预期的问题,即 npx 尝试自动安装 prisma 并获取 Prisma 1 而不是 Prisma 2,然后期待一个不存在的 prisma.yml 文件。

【问题讨论】:

    标签: node.js prisma prisma2


    【解决方案1】:

    无需运行在安装@prisma/client 时执行的prisma generate 命令。

    编辑: https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/generating-prisma-client

    【讨论】:

    • 但是自动或手动运行prisma generate 命令需要安装 Prisma CLI。
    【解决方案2】:

    Prisma 有不同的安装指南,用于在不同的环境中安装。 比如这一篇讲的是在vercel上安装。

    https://www.prisma.io/docs/guides/deployment/deployment-guides/deploying-to-vercel

    安装后挂钩 package.json 使用 postinstall 钩子脚本来运行 prisma generate。通常这将在构建步骤中进行。由于 Vercel 在安装依赖项后缓存 node_modules,因此这些函数将无法访问生成的 Prisma Client。

    在 postinstall 中生成 Prisma Client 可确保在 node_modules/@prisma/client 中生成的 Prisma Client 可用于函数。

    【讨论】:

      猜你喜欢
      • 2021-12-28
      • 2021-08-17
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 2021-04-19
      • 1970-01-01
      • 1970-01-01
      • 2020-10-10
      相关资源
      最近更新 更多