最近、アプリを運用環境にデプロイ中に次のエラーが発生しました:
Error: Could not parse schema engine response: SyntaxError: Unexpected token E in JSON at position 0
これが起こった理由については、この行だけでこれ以上説明はありません。最近のマージ コミットでは、ロケール キーワードをいくつか変更しただけで、それだけです。
インターネット中を検索しましたが、何も見つかりませんでした。
その後、エラーの数行上に次のような警告があることに気付きました。
prisma:warn Prisma failed to detect the libssl/openssl version to use, and may not work as expected. Defaulting to "openssl-1.1.x".
GitHub でこれについて検索したところ、次のものが見つかりました:
Prisma は新しい bookworm
何らかの理由で、私が使用していた新しいバージョンの alpine docker イメージには、Prisma エンジンに必要な openssl パッケージが付属していないことに気付きました。
上で共有した問題のディスカッションでは、ノード バージョン 18.5.something を使用する必要があると述べており、これを一時的に解決するか、別の Docker イメージを使用することができます。
ただし、別のバージョンのノードを使用したり、他のパッケージと競合したりする必要はありません。
したがって、パッケージを手動でインストールする必要があります。
これは私が使用していた Docker イメージです:
FROM node:18-alpine
次の行を追加しました:
# install openssl RUN apk update && apk upgrade RUN apk add --no-cache openssl
そして、これで問題は解決しました。
以上がPrisma: スキーマ エンジンの応答を解析できませんでしたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。