windows平台开发的nuxt+prisma代码如何发布到linux平台

准备阶段

参考 https://www.prisma.io/docs/orm/reference/environment-variables-reference?var=varientB#cli-binary-targets

提前从互联网准备好dll等库文件

Linux平台开发

PRISMA_CLI_BINARY_TARGETS=windows,rhel-openssl-1.0.x,rhel-openssl-3.0.x pnpm install

Windows平台开发

$Env:PRISMA_CLI_BINARY_TARGETS="windows,rhel-openssl-1.0.x,rhel-openssl-3.0.x"; pnpm install

更通用的跨平台方法

或者利用 cross-env 库,再在 package.json 文件的 scripts 中写

pnpm i -D cross-env
  "scripts": {
    ...
    "prepare_cross_planform_prisma": "cross-env PRISMA_CLI_BINARY_TARGETS=windows,rhel-openssl-1.0.x,rhel-openssl-3.0.x pnpm install"
  },

编译阶段

参考 https://www.prisma.io/docs/orm/reference/prisma-schema-reference#binarytargets-options

修改项目中的 schema.prisma 文件

windows平台开发、windows平台部署

generator client {
    provider      = "prisma-client-js"
    binaryTargets = ["native"]
}

windows平台开发、linux平台部署

generator client {
    provider      = "prisma-client-js"
    binaryTargets = ["rhel-openssl-3.0.x"]
}

windows平台开发、linux平台部署、且linux平台node版本小于v20

generator client {
    provider      = "prisma-client-js"
    binaryTargets = ["rhel-openssl-1.0.x"]
}
posted @ 2025-02-18 22:54  肚肚1990  阅读(59)  评论(0)    收藏  举报