最近在將我們的應用程式部署到生產環境時遇到此錯誤:
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中文網其他相關文章!