跳至主要內容

環境變數參考

本文件說明了各種環境變數及其使用情境。

Prisma Client

DEBUG

DEBUG 用於啟用 Prisma Client 中的除錯輸出。

設定 Prisma Client 層級除錯輸出的範例

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

請參閱除錯 (Debugging) 以取得更多資訊。

NO_COLOR

NO_COLOR真值 (truthy),將會啟用錯誤格式化的 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_SKIP_AUTOINSTALL 可設為真值 (truthy) 以跳過自動安裝 prisma CLI 和 @prisma/client 依賴項(若它們缺失)。當在使用 prisma generate 指令且 Prisma Schema 中定義了 prisma-client-js 產生器時有效。

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) 以產生不包含 查詢引擎 (query engine) 的 Prisma Client,以便在搭配 Prisma Accelerate 使用時減小部署後的應用程式大小。

PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK

資訊

此環境變數自 5.3.0 版本起提供。

PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK 可設為真值 (truthy) 以停用 Prisma Migrate 所使用的諮詢鎖 (advisory locking)。視資料庫設定而定,例如在 Percona-XtraDB-Cluster 或 MariaDB Galera Cluster 中,這可能是必要的。

代理環境變數 (Proxy environment variables)

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

引擎環境變數 (Engine environment variables)

設定查詢引擎類型 (Configuring Query Engine Type)

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 來定義它們的位置。

這相當於在 Prisma Schema 中的 generator 區塊中定義 engineType 屬性的環境變數方式。

下載引擎 (Downloading Engines)

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

注意:我們可能會在未來的版本中變更整體的下載行為,使得在離線環境下不再需要此環境變數。

自定義引擎檔案位置 (Custom engine file locations)

預設情況下,所有引擎檔案會在您安裝 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 中棄用,因為 Migration engine 已更名為 Schema Engine。

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 用於設定您自有內省 (introspection) 引擎二進位檔的自定義位置。

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 二進位目標 (CLI Binary Targets)

PRISMA_CLI_BINARY_TARGETS

Prisma v7 棄用通知

此環境變數僅在 Prisma 6.19 及更早版本中支援。在 Prisma v7 中將無法運作。

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 Schema 中的 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.