環境変数リファレンス
このドキュメントでは、さまざまな環境変数とその使用例について説明します。
Prisma Client
DEBUG
DEBUG
は、Prisma Client のデバッグ出力を有効にするために使用されます。
Prisma Client レベルのデバッグ出力設定の例
# enable only `prisma:client`-level debugging output
export DEBUG="prisma:client"
詳細については、「デバッグ」を参照してください。
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_GENERATE_SKIP_AUTOINSTALL
は、`prisma generate` コマンドを使用する際に、Prisma Schema で `prisma-client-js` ジェネレーターが定義されている場合、`prisma` CLI および `@prisma/client` の依存関係 (不足している場合) の自動インストールをスキップするために truthy な値に設定できます。
PRISMA_SKIP_POSTINSTALL_GENERATE
PRISMA_SKIP_POSTINSTALL_GENERATE
は、パッケージマネージャーによって `postinstall` フックがトリガーされたときに Prisma Client の自動生成をスキップするためにtruthyな値に設定できます。`@prisma/client` パッケージの `postinstall` フックは、パッケージがインストールされたとき、またはそのバージョンが更新されたときにトリガーされます。
PRISMA_DISABLE_WARNINGS
logger.warn
によって生成されるすべてのCLI警告を無効にします。
PRISMA_GENERATE_NO_ENGINE
この環境変数はバージョン 5.2.0
以降で利用可能です。
PRISMA_GENERATE_NO_ENGINE
をtruthyな値に設定すると、デプロイされるアプリケーションサイズを削減するために、Prisma Accelerate と組み合わせて、含まれているクエリエンジンなしでPrisma Client を生成できます。
PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK
この環境変数はバージョン 5.3.0
以降で利用可能です。
PRISMA_SCHEMA_DISABLE_ADVISORY_LOCK
をtruthyな値に設定すると、Prisma Migrate で使用されるアドバイザリロックを無効にできます。これは、データベースの設定によっては、例えばPercona-XtraDB-Cluster や MariaDB Galera Cluster などで必要になる場合があります。
プロキシ環境変数
Prisma CLI は、Prisma エンジンをダウンロードするためのカスタム HTTP(S) プロキシをサポートしています。これらは、企業ファイアウォールの背後で作業する場合に役立ちます。詳細については、「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
を使用して定義する**必要があります**。
これは、Prisma Schema で同じ設定を定義できるgenerator
ブロックの engineType
プロパティの環境変数同等物です。
エンジンのダウンロード
PRISMA_ENGINES_MIRROR
PRISMA_ENGINES_MIRROR
は、CLI/Client 用のエンジンファイルをダウンロードするためのカスタムCDN (またはサーバー) エンドポイントを指定するために使用できます。デフォルト値は 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 エンジンのダウンロードおよび整合性 (チェックサムファイルによる) の検証に関する問題を無視するためにtruthyな値に設定できます。これは、チェックサムファイルがダウンロードできないオフラインシステム環境にデプロイする際に特に役立ちます。
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_LIBRARY` を使用してください。
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
は、スキーマエンジンバイナリのカスタムパスを設定するために使用されます。
PRISMA_SCHEMA_ENGINE_BINARY=custom/my-schema-engine-unix
PRISMA_MIGRATION_ENGINE_BINARY
非推奨: `PRISMA_MIGRATION_ENGINE_BINARY` 変数は、Migration engine が Schema Engine に名称変更されたため、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 から Migration Engine によって提供されます。したがって、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 がダウンロードする1つまたは複数のバイナリターゲットを指定するために使用できます (そのため、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 Client の同じ設定を定義できるgenerator
ブロックの binaryTargets
プロパティのPrisma CLI版です。
注: Node.js バージョン 20 より前では、openssl バージョンは 3.0.x ではなく 1.0.x でした。これはAWS Lambda デプロイで最も顕著であり、バイナリターゲットは `rhel-openssl-3.0.x` ではなく `rhel-openssl-1.0.x` になります。