メインコンテンツにスキップ

システム要件

このページでは、Prisma ORMのシステム要件の概要を説明します。

システム要件

このセクションでは、Prisma ORMが必要とするソフトウェアとサポートされているオペレーティングシステム、および特定のオペレーティングシステムに対するランタイム依存関係の要件をリストします。

ソフトウェア要件

Prisma ORMの最新バージョンには、以下のソフトウェアが必要です

ツール必要な最小バージョン
Node.js18.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.js16.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バージョン
Alpine1.1.x, 3.xmusl 1.2.x
RHEL1.0.x, 1.1.x, 3.xglibc 2.17+
Debian またはその他1.0.xglibc 2.19+
Debian またはその他1.1.x, 3.xglibc 2.24+

ARM64 (aarch64) アーキテクチャの場合

ディストリビューションファミリーOpenSSLバージョンlibcバージョン
Alpine1.1.x, 3.xmusl 1.2.x
RHEL1.0.x, 1.1.x, 3.xglibc 2.24+
Debian またはその他1.0.x, 1.1.x, 3.xglibc 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

© . All rights reserved.