Camopy
Camopy

Reputation: 155

Any workaround to the "Could not find prisma-fmt binary" error when installing KeystoneJS?

I'm running into this issue when trying to install KeystoneJS (tried locally with node and npm up to date and in a node:16-alpine docker image).

> [email protected] postinstall
> keystone postinstall

Error: Could not find prisma-fmt binary. Searched in:
- /plur-cms/node_modules/@prisma/engines/prisma-fmt-debian-openssl-1.1.x
- /plur-cms/node_modules/@prisma/sdk/prisma-fmt-debian-openssl-1.1.x
- /plur-cms/node_modules/@prisma/prisma-fmt-debian-openssl-1.1.x
- /plur-cms/node_modules/@prisma/sdk/runtime/prisma-fmt-debian-openssl-1.1.x
    at resolveBinary (/plur-cms/node_modules/@prisma/sdk/dist/resolveBinary.js:91:9)
    at Object.formatSchema (/plur-cms/node_modules/@prisma/sdk/dist/engine-commands/formatSchema.js:41:25)
    at getCommittedArtifacts (/plur-cms/node_modules/@keystone-6/core/dist/artifacts-f7bed9de.cjs.dev.js:398:13)
    at Object.validateCommittedArtifacts (/plur-cms/node_modules/@keystone-6/core/dist/artifacts-f7bed9de.cjs.dev.js:417:21)
    at postinstall (/plur-cms/node_modules/@keystone-6/core/scripts/dist/keystone-6-core-scripts.cjs.dev.js:619:5)

I have tried so far to update Prisma to the latest version, generate its binary, and place it into the correct folder for keystone. But after that keystone still doesn't run:

✨ Starting Keystone
⭐️ Dev Server Starting on http://localhost:5000
⭐️ GraphQL API Starting on http://localhost:5000/api/graphql
✨ Generating GraphQL and Prisma schemas
✨ The database is already in sync with the Prisma schema.
Error: Unknown binary target debian-openssl-3.0.x in generator client.
Possible binaryTargets: darwin, darwin-arm64, debian-openssl-1.0.x, debian-openssl-1.1.x, rhel-openssl-1.0.x, rhel-openssl-1.1.x, linux-arm64-openssl-1.1.x, linux-arm64-openssl-1.0.x, linux-arm-openssl-1.1.x, linux-arm-openssl-1.0.x, linux-musl, linux-nixos, windows, freebsd11, freebsd12, openbsd, netbsd, arm, native
    at validateGenerators (/home/camopy/dev/plur-cms/node_modules/@prisma/sdk/dist/get-generators/getGenerators.js:318:17)
    at getGenerators (/home/camopy/dev/plur-cms/node_modules/@prisma/sdk/dist/get-generators/getGenerators.js:122:3)
    at Object.getGenerator (/home/camopy/dev/plur-cms/node_modules/@prisma/sdk/dist/get-generators/getGenerators.js:276:22)
    at generatePrismaClient (/home/camopy/dev/plur-cms/node_modules/@keystone-6/core/dist/artifacts-f7bed9de.cjs.dev.js:522:21)
    at async Promise.all (index 0)
    at Object.generateNodeModulesArtifacts (/home/camopy/dev/plur-cms/node_modules/@keystone-6/core/dist/artifacts-f7bed9de.cjs.dev.js:518:3)
    at async Promise.all (index 0)
    at setupInitialKeystone (/home/camopy/dev/plur-cms/node_modules/@keystone-6/core/scripts/dist/keystone-6-core-scripts.cjs.dev.js:416:22)
    at initKeystone (/home/camopy/dev/plur-cms/node_modules/@keystone-6/core/scripts/dist/keystone-6-core-scripts.cjs.dev.js:166:35)

Has any of you run into this already and found a workaround?

Or do you have a docker image with keystone 6 working?

Upvotes: 4

Views: 2835

Answers (1)

Nurul Sundarani
Nurul Sundarani

Reputation: 7558

You are running into this issue because the @prisma/client version doesn't seem to support OpenSSL 3.0.

You need to update to version 3.13.0 atleast. From version 3.13.0 prisma has added support for openssl 3.0.

Here are the release notes which mentions the same: Release notes

Upvotes: 0

Related Questions