最近在将我们的应用程序部署到生产环境时遇到此错误:
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 在新书虫上找不到 openssl 3.0.x
我意识到,由于某些原因,我使用的新版本的 alpine docker 镜像没有附带 openssl 软件包 - Prisma 引擎需要该软件包。
我上面分享的问题讨论说使用节点版本18.5.something,我们可以暂时解决这个问题或使用不同的docker镜像。
但是,我不必使用不同版本的节点并与其他包发生冲突。
所以,我应该手动安装该软件包。
这是我使用的 docker 镜像:
FROM node:18-alpine
我添加了这些行:
# install openssl RUN apk update && apk upgrade RUN apk add --no-cache openssl
而且,这解决了问题。
以上是Prisma:无法解析模式引擎响应的详细内容。更多信息请关注PHP中文网其他相关文章!