跳至主要内容

环境变量参考

本文档介绍了不同的环境变量及其使用场景。

Prisma Client

DEBUG

DEBUG 用于在 Prisma Client 中启用调试输出。

示例:设置 Prisma Client 级别的调试输出

# enable only `prisma:client`-level debugging output
export DEBUG="prisma:client"

更多信息请参见调试

NO_COLOR

如果 truthyNO_COLOR 将激活错误格式的 colorless 设置,并从错误消息中去除颜色。

更多信息请参见通过环境变量格式化

Prisma Studio

BROWSER

BROWSER 用于 Prisma Studio 强制指定它应该在哪个浏览器中打开;如果未设置,它将在默认浏览器中打开。

BROWSER=firefox prisma studio --port 5555

此外,您也可以在从 CLI 启动 Studio 时设置此项

prisma studio --browser firefox

更多信息请参见Studio 文档。

Prisma CLI

PRISMA_HIDE_PREVIEW_FLAG_WARNINGS

PRISMA_HIDE_PREVIEW_FLAG_WARNINGS 隐藏了声明预览功能标志可能被移除的警告消息。它是一个 truthy 值。

PRISMA_HIDE_UPDATE_MESSAGE

PRISMA_HIDE_UPDATE_MESSAGE 用于隐藏当有更新的 Prisma CLI 版本可用时显示​​的更新通知消息。它是一个 truthy 值。

PRISMA_GENERATE_SKIP_AUTOINSTALL

Prisma v7 弃用

此环境变量仅在 Prisma 6.19 及更早版本中受支持。它在 Prisma v7 中将不起作用。

使用 prisma generate 命令时,如果 Prisma Schema 中定义了 prisma-client-js 生成器,PRISMA_GENERATE_SKIP_AUTOINSTALL 可以设置为 truthy 值,以跳过 prisma CLI 和 @prisma/client 依赖项(如果它们缺失)的自动安装。

PRISMA_SKIP_POSTINSTALL_GENERATE

Prisma v7 弃用

此环境变量仅在 Prisma 6.19 及更早版本中受支持。它在 Prisma v7 中将不起作用。

PRISMA_SKIP_POSTINSTALL_GENERATE 可以设置为 truthy 值,以跳过当包管理器触发 postinstall 钩子时 Prisma Client 的自动生成。@prisma/client 包的 postinstall 钩子在包安装或版本更新时触发。

PRISMA_DISABLE_WARNINGS

禁用所有由 logger.warn 生成的 CLI 警告。

PRISMA_GENERATE_NO_ENGINE

Prisma v7 弃用

此环境变量仅在 Prisma 6.19 及更早版本中受支持。它在 Prisma v7 中将不起作用。

信息

此环境变量自版本 5.2.0 起可用。

PRISMA_GENERATE_NO_ENGINE 可以设置为 truthy 值,以生成不包含 查询引擎 的 Prisma Client,从而在与 Prisma Accelerate 结合使用时减小部署应用程序的大小。

PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK

信息

此环境变量自版本 5.3.0 起可用。

PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK 可以设置为 truthy 值,以禁用 Prisma Migrate 使用的咨询锁定。根据数据库配置,例如对于 Percona-XtraDB-Cluster 或 MariaDB Galera Cluster,可能需要这样做。

代理环境变量

Prisma CLI 支持自定义 HTTP(S) 代理来下载 Prisma 引擎。在公司防火墙后面工作时,这些代理可能会很有用。更多信息请参见为 CLI 使用 HTTP 代理

NO_PROXY

NO_PROXY 是一个逗号分隔的主机名或 IP 地址列表,这些地址不需要代理。

NO_PROXY=myhostname.com,10.11.12.0/16,172.30.0.0/16

HTTP_PROXY

HTTP_PROXY 设置为代理服务器的主机名或 IP 地址。

HTTP_PROXY=http://proxy.example.com

HTTPS_PROXY

HTTPS_PROXY 设置为代理服务器的主机名或 IP 地址。

HTTPS_PROXY=https://proxy.example.com

引擎环境变量

配置查询引擎类型

PRISMA_CLI_QUERY_ENGINE_TYPE

在 Prisma v7 中移除

此环境变量仅在 Prisma 6.19 及更早版本中受支持。它在 Prisma v7 中将不起作用。

PRISMA_CLI_QUERY_ENGINE_TYPE 用于定义 Prisma CLI 下载和使用的查询引擎类型。默认为 library,但可以设置为 binary

PRISMA_CLI_QUERY_ENGINE_TYPE=binary

PRISMA_CLIENT_ENGINE_TYPE

在 Prisma v7 中移除

此环境变量仅在 Prisma 6.19 及更早版本中受支持。它在 Prisma v7 中将不起作用。

PRISMA_CLIENT_ENGINE_TYPE 用于定义 Prisma Client 下载和使用的查询引擎类型。默认为 library,但可以设置为 binary

PRISMA_CLIENT_ENGINE_TYPE=binary

注意:您需要在此变量设置后生成 Prisma Client,配置才能生效并下载库。否则,Prisma Client 将缺少适当的查询引擎库,您将不得不使用PRISMA_QUERY_ENGINE_LIBRARY定义其位置。

它是 generator 块的 engineType 属性 的环境变量等价物,它允许您在 Prisma Schema 中定义相同的设置。

下载引擎

PRISMA_ENGINES_MIRROR

PRISMA_ENGINES_MIRROR 可用于指定自定义 CDN(或服务器)端点来下载 CLI/Client 的引擎文件。默认值为 https://binaries.prisma.sh,Prisma 在此托管引擎文件。

PRISMA_ENGINES_MIRROR=https://example.org/custom-engines/

有关如何使用此环境变量的概念性概述,请参见Prisma 引擎

注意:此环境变量曾以 PRISMA_BINARIES_MIRROR 的形式提供,但在 Prisma ORM 3.0.1 中已弃用。不再建议使用,将来会移除。

PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING

信息

此环境变量自版本 4.16.0 起可用。

PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING 可以设置为 truthy 值,以忽略下载和验证 Prisma ORM 引擎完整性(通过校验和文件)的问题。这在部署到无法下载校验和文件的离线系统环境中特别有用。

PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING=1

注意:我们可能会在未来的版本中改变整体下载行为,从而使此环境变量在离线环境中不再需要。

自定义引擎文件位置

默认情况下,所有引擎文件在您安装 Prisma CLI 时下载,在生成 Prisma Client 时复制,并放置在已知位置。但在某些情况下,您可能希望从自定义位置使用自定义引擎文件。

PRISMA_QUERY_ENGINE_BINARY

Prisma v7 弃用

此环境变量仅在 Prisma 6.19 及更早版本中受支持。它在 Prisma v7 中将不起作用。

PRISMA_QUERY_ENGINE_BINARY 用于设置您自己的查询引擎二进制文件的自定义位置。

PRISMA_QUERY_ENGINE_BINARY=custom/query-engine-<target>
# Example: ./prisma/binaries/query-engine-linux-arm64-openssl-1.0.x

对于 Prisma CLI,它允许您定义要使用的查询引擎文件。
对于 Prisma Client,在构建时(prisma generate 期间),它定义了查询引擎文件将从何处复制到 Prisma Client 中。在运行时(使用生成的 Client 时),它可用于定义要使用的特定查询引擎文件,而不是包含在内的文件。

注意:这只有在 CLI 或 Client 的引擎类型设置为 binary 时才有效。如果引擎类型为 library(默认),请改用 PRISMA_QUERY_ENGINE_LIBRARY。

PRISMA_QUERY_ENGINE_LIBRARY

Prisma v7 弃用

此环境变量仅在 Prisma 6.19 及更早版本中受支持。它在 Prisma v7 中将不起作用。

PRISMA_QUERY_ENGINE_LIBRARY 用于设置您自己的查询引擎库的自定义位置。

PRISMA_QUERY_ENGINE_LIBRARY=custom/libquery_engine-<target>.so.node
# Example: ./prisma/binaries/libquery_engine-linux-arm64-openssl-1.0.x.so.node

对于 Prisma CLI,它允许您定义要使用的查询引擎文件。
对于 Prisma Client,在构建时(prisma generate 期间),它定义了查询引擎文件将从何处复制到 Prisma Client 中。在运行时(使用生成的 Client 时),它可用于定义要使用的特定查询引擎文件,而不是包含在内的文件。

注意:这只有在 CLI 或 Client 的引擎类型设置为 library(默认)时才有效。

PRISMA_SCHEMA_ENGINE_BINARY

PRISMA_SCHEMA_ENGINE_BINARY 用于设置您的 Schema 引擎二进制文件的自定义位置。

PRISMA_SCHEMA_ENGINE_BINARY=custom/my-schema-engine-unix

PRISMA_MIGRATION_ENGINE_BINARY

警告

已弃用PRISMA_MIGRATION_ENGINE_BINARY 变量在 5.0.0 中已弃用,因为迁移引擎已更名为 Schema 引擎。

PRISMA_MIGRATION_ENGINE_BINARY 用于设置您自己的迁移引擎二进制文件的自定义位置。

PRISMA_MIGRATION_ENGINE_BINARY=custom/my-migration-engine-unix

PRISMA_INTROSPECTION_ENGINE_BINARY

在 Prisma v7 中移除

此环境变量仅在 Prisma 6.19 及更早版本中受支持。它在 Prisma v7 中将不起作用。

PRISMA_INTROSPECTION_ENGINE_BINARY 用于设置您自己的内省引擎二进制文件的自定义位置。

PRISMA_INTROSPECTION_ENGINE_BINARY=custom/my-introspection-engine-unix
警告

内省引擎自 4.9.0 起由迁移引擎提供。因此,PRISMA_INTROSPECTION_ENGINE 环境变量将不再使用。

PRISMA_FMT_BINARY

危险

此功能已在 Prisma CLI 4.10.0 版本中移除。它仅在早期版本中有效。

PRISMA_FMT_BINARY 用于设置您自己的格式化引擎二进制文件的自定义位置。

PRISMA_FMT_BINARY=custom/my-custom-format-engine-unix
警告

PRISMA_FMT_BINARY 变量用于 4.2.0 或更早的版本。

CLI 二进制目标

PRISMA_CLI_BINARY_TARGETS

Prisma v7 弃用

此环境变量仅在 Prisma 6.19 及更早版本中受支持。它在 Prisma v7 中将不起作用。

PRISMA_CLI_BINARY_TARGETS 可用于指定一个或多个二进制目标,Prisma CLI 将在安装期间下载这些目标(因此必须在 npm install Prisma CLI 期间提供,并且不影响 Prisma CLI 或 Prisma Client 的运行时)。

如果满足以下情况,请使用 PRISMA_CLI_BINARY_TARGETS:1) 您通过上传包含依赖项的本地项目部署到特定平台,以及 2) 您的本地环境与目标环境不同(例如,使用 Node.js 20+ 的 AWS Lambda 是 rhel-openssl-3.0.x,而您的本地环境可能是 macOS arm64 darwin-arm64)。使用 PRISMA_CLI_BINARY_TARGETS 环境变量可确保也下载目标引擎文件。

PRISMA_CLI_BINARY_TARGETS=darwin-arm64,rhel-openssl-3.0.x npm install

这是 generator 块的 binaryTargets 属性 的 Prisma CLI 等价物,它允许您为 Prisma Client 定义相同的设置。

注意

对于早于 20 的 Node.js 版本,openssl 版本是 1.0.x 而不是 3.0.x。这在 AWS Lambda 部署中最为明显,其中二进制目标将是 rhel-openssl-1.0.x 而不是 rhel-openssl-3.0.x

© . This site is unofficial and not affiliated with Prisma Data, Inc.