システム要件
このページでは、Prisma ORMのシステム要件の概要を説明します。
システム要件
このセクションでは、Prisma ORMが必要とするソフトウェアとサポートされているオペレーティングシステム、および特定のオペレーティングシステムに対するランタイム依存関係の要件をリストします。
ソフトウェア要件
Prisma ORMの最新バージョンには、以下のソフトウェアが必要です
ツール | 必要な最小バージョン |
---|---|
Node.js | 18.8 / 20.9 / 22.11 |
TypeScript (任意) | 5.1.X |
Yarn (任意) | 1.19.2 |
- Prisma ORMは、すべての*Active LTS*および*Maintenance LTS*の**Node.js**リリースをサポートおよびテストしています。*Current*などのこれらの状態にないリリース、および奇数バージョンのものもおそらく動作しますが、本番環境での使用は推奨されません。
- **TypeScript**は、TypeScriptユーザーにのみ必要です。
- **Yarn 1**を使用する場合、Prisma Clientと互換性のある最小バージョンは`1.19.2`です。
以前のバージョンを展開
Prisma ORM v5
Prisma ORM v5には以下のソフトウェアが必要です
必要な最小バージョン | |
---|---|
Node.js | 16.13 / 18.X / 20.X |
TypeScript (任意) | 4.7.X |
Yarn (任意) | 1.19.2 |
オペレーティングシステム
Prisma ORMは、macOS、Windows、およびほとんどのLinuxディストリビューションでサポートされています。
Linuxランタイム依存関係
Prisma ORMが動作するには、以下のシステムライブラリがインストールされている必要があります
- OpenSSL 1.0.x, 1.1.x または 3.x
- zlib (
libz.so.1
) - libgcc (
libgcc_s.so.1
) - C標準ライブラリ (ほとんどのLinuxディストリビューションではglibc、Alpine Linuxではmusl libc)
以下の2つの表は、各CPUアーキテクチャでサポートされているLinuxディストリビューションファミリー、OpenSSLバージョン、およびC標準ライブラリを示しています。
AMD64
(x86_64
) アーキテクチャの場合
ディストリビューションファミリー | OpenSSLバージョン | libcバージョン |
---|---|---|
Alpine | 1.1.x, 3.x | musl 1.2.x |
RHEL | 1.0.x, 1.1.x, 3.x | glibc 2.17+ |
Debian またはその他 | 1.0.x | glibc 2.19+ |
Debian またはその他 | 1.1.x, 3.x | glibc 2.24+ |
ARM64
(aarch64
) アーキテクチャの場合
ディストリビューションファミリー | OpenSSLバージョン | libcバージョン |
---|---|---|
Alpine | 1.1.x, 3.x | musl 1.2.x |
RHEL | 1.0.x, 1.1.x, 3.x | glibc 2.24+ |
Debian またはその他 | 1.0.x, 1.1.x, 3.x | glibc 2.24+ |
Prisma ORMがシステム上でOpenSSLバージョンを解決できない場合(例:インストールされていないため)、デフォルトでOpenSSL 1.1.xが使用されます。
サポートされているNode.jsバージョンを実行できるシステムには、ほとんどの場合zlibとlibgccが利用可能です。注目すべき例外はGoogleのDistrolessイメージで、この場合libz.so.1
は互換性のあるDebianシステムからコピーする必要があります。
Windowsランタイム依存関係
Windowsでは、Microsoft Visual C++ Redistributable 2015以降がインストールされている必要があります(これはほとんどの最新インストールでデフォルトでそうなっています)。
macOSランタイム依存関係
Prisma ORMはmacOS 10.15以降をサポートしています。ソフトウェア要件セクションに記載されているすべてのプラットフォーム向け要件以外に、macOS固有の追加要件はありません。
トラブルシューティング
システム要件の古いバージョンを使用することで発生するいくつかの一般的な問題があります
@prisma/client
を使用してTypeScriptプロジェクトをビルドできない
問題
prisma generate
を実行した後、プロジェクトの型チェックを試みると、以下のエラーが表示されます。
./node_modules/.prisma/client/index.d.ts:10:33
Type error: Type expected.
8 | export type PrismaPromise<A> = Promise<A> & {[prisma]: true}
9 | type UnwrapTuple<Tuple extends readonly unknown[]> = {
> 10 | [K in keyof Tuple]: K extends `${number}` ? Tuple[K] extends PrismaPromise<infer X> ? X : never : never
| ^
11 | };
12 |
13 |
解決策
プロジェクトのTypeScript依存関係を、Prisma ORMでサポートされているバージョンにアップグレードします。npm install -D typescript
groupBy
プレビュー機能を使用できない
問題
groupBy
プレビュー機能を使用するアプリケーションを実行しようとすると、以下のコンソールエラーが表示されます
server.ts:6:25 - error TS2615: Type of property 'OR' circularly references itself in mapped type '{ [K in keyof { AND?: Enumerable<ProductScalarWhereWithAggregatesInput>; OR?: Enumerable<ProductScalarWhereWithAggregatesInput>; ... 4 more ...; category?: string | StringWithAggregatesFilter; }]: Or<...> extends 1 ? { ...; }[K] extends infer TK ? GetHavingFields<...> : never : {} extends FieldPaths<...> ? never : K...'.
6 const grouped = await prisma.product.groupBy({
~~~~~~~~~~~~~~~~~~~~~~~~
7 by: ['category']
~~~~~~~~~~~~~~~~~~~~
8 });
~~~~
server.ts:6:48 - error TS2554: Expected 0 arguments, but got 1.
6 const grouped = await prisma.product.groupBy({
~
7 by: ['category']
~~~~~~~~~~~~~~~~~~~~
8 });
~~~
解決策
プロジェクトのTypeScript依存関係を、Prisma ORMでサポートされているバージョンにアップグレードします。npm install -D typescript