环境变量参考
本文档描述了不同的环境变量及其用例。
Prisma Client
DEBUG
DEBUG
用于在 Prisma Client 中启用调试输出。
设置 Prisma Client 级别调试输出的示例
# enable only `prisma:client`-level debugging output
export DEBUG="prisma:client"
请参阅调试了解更多信息。
NO_COLOR
如果NO_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
隐藏了关于预览功能标志可能被移除的警告消息。它是一个真值。
PRISMA_HIDE_UPDATE_MESSAGE
PRISMA_HIDE_UPDATE_MESSAGE
用于隐藏当有更新的 Prisma CLI 版本可用时显示更新通知消息。它是一个真值。
PRISMA_GENERATE_SKIP_AUTOINSTALL
如果 Prisma Schema 中定义了 prisma-client-js
生成器,当使用 prisma generate
命令时,可以将 PRISMA_GENERATE_SKIP_AUTOINSTALL
设置为真值,以跳过自动安装 prisma
CLI 和 @prisma/client
依赖项(如果它们缺失)。
PRISMA_SKIP_POSTINSTALL_GENERATE
当包管理器触发 @prisma/client
包的 postinstall
钩子时(当包被安装或其版本更新时),可以将 PRISMA_SKIP_POSTINSTALL_GENERATE
设置为真值,以跳过 Prisma Client 的自动生成。
PRISMA_DISABLE_WARNINGS
禁用由 logger.warn
生成的所有 CLI 警告。
PRISMA_GENERATE_NO_ENGINE
此环境变量自版本 5.2.0
起可用
PRISMA_GENERATE_NO_ENGINE
可以设置为一个真值,以生成一个不包含查询引擎的 Prisma Client,从而在与 Prisma Accelerate 配合使用时减少部署应用程序的大小。
PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK
此环境变量自版本 5.3.0
起可用
可以将 PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK
设置为真值,以禁用 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_CLI_QUERY_ENGINE_TYPE
用于定义 Prisma CLI 下载和使用的查询引擎类型。默认为 library
,但可以设置为 binary
PRISMA_CLI_QUERY_ENGINE_TYPE=binary
PRISMA_CLIENT_ENGINE_TYPE
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
设置为真值,以忽略下载和验证 Prisma ORM 引擎完整性(通过校验和文件)时出现的问题。这在部署到无法下载校验和文件的离线系统环境时特别有用。
PRISMA_ENGINES_CHECKSUM_IGNORE_MISSING=1
注意:我们可能会在未来版本中改变整体下载行为,届时在离线环境情况下将不再需要此环境变量。
自定义引擎文件位置
默认情况下,当您安装 Prisma CLI 时,所有引擎文件都会被下载;在生成 Prisma Client 时被复制;并放置到已知位置。然而,在某些情况下,您可能希望从自定义位置使用自定义引擎文件
PRISMA_QUERY_ENGINE_BINARY
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_LIBARY。
PRISMA_QUERY_ENGINE_LIBRARY
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
已弃用:由于 Migration 引擎已更名为 Schema 引擎,PRISMA_MIGRATION_ENGINE_BINARY
变量在 5.0.0 版本中已弃用。
PRISMA_MIGRATION_ENGINE_BINARY
用于设置您自己的迁移引擎二进制文件的自定义位置。
PRISMA_MIGRATION_ENGINE_BINARY=custom/my-migration-engine-unix
PRISMA_INTROSPECTION_ENGINE_BINARY
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_CLI_BINARY_TARGETS
可用于指定 Prisma CLI 在安装期间将下载的一个或多个二进制目标(因此必须在 Prisma CLI 的 npm install
期间提供,并且不影响 Prisma CLI 或 Prisma Client 的运行时)。
如果您 1) 通过上传包含依赖项的本地项目部署到特定平台,并且 2) 您的本地环境与目标环境不同(例如,Node.js 20+ 的 AWS Lambda 是 rhel-openssl-3.0.x
,而您的本地环境可能是 macOS arm64 darwin-arm64
),请使用 PRISMA_CLI_BINARY_TARGETS
。使用 PRISMA_CLI_BINARY_TARGETS
环境变量可确保目标引擎文件也被下载。
PRISMA_CLI_BINARY_TARGETS=darwin-arm64,rhel-openssl-3.0.x npm install
这是 Prisma CLI 的等效项,对应于generator
块的 binaryTargets
属性,它使您能够为 Prisma Client 定义相同的设置。
注意:对于 Node.js 20 之前的版本,OpenSSL 版本是 1.0.x 而不是 3.0.x。这在 AWS Lambda 部署中最为明显,其中二进制目标将是
rhel-openssl-1.0.x
而不是rhel-openssl-3.0.x
。