Skip to content

Prisma can't find generated client even though it's present using default boilerplate. #92

@abrakazinga

Description

@abrakazinga

Summary

After deploying a fresh nuxt 3 app with prisma I am encountering the following error, which makes Prisma currently unusable with Nuxt.

@prisma/client did not initialize yet. Please run "prisma generate" and try to import it again.

However, the client has already been generated and is present in "./lib/generated/prisma"

Using a workaround presented in this comment the error disappears.

Full Error

Error: @prisma/client did not initialize yet. Please run "prisma generate" and try to import it again.

 ⁃ at new PrismaClient (node_modules/.pnpm/@prisma+client@6.6.0_prisma@6.6.0_typescript@5.8.3__typescript@5.8.3/node_modules/.prisma/client/default.js:43:11)

   38 ┃  var clientVersion = version;
   39 ┃  
   40 ┃  // src/scripts/default-index.ts
   41 ┃  var PrismaClient = class {
   42 ┃    constructor() {
 ❯ 43 ┃      throw new Error('@prisma/client did not initialize yet. Please run "prisma generate" and try to import it again.');
   44 ┃    }
   45 ┃  };
   46 ┃  function defineExtension(ext) {
   47 ┃    if (typeof ext === "function") {
   48 ┃      return ext;

 ⁃ at prismaClientSingleton (node_modules/.pnpm/@prisma+nuxt@0.3.0_magicast@0.3.5_prisma@6.6.0_typescript@5.8.3__typescript@5.8.3_vite@_8a31613188780f4a229d1d52658694f7/node_modules/@prisma/nuxt/dist/runtime/server/utils/prisma.mjs:4:10)
 ⁃ (node_modules/.pnpm/@prisma+nuxt@0.3.0_magicast@0.3.5_prisma@6.6.0_typescript@5.8.3__typescript@5.8.3_vite@_8a31613188780f4a229d1d52658694f7/node_modules/@prisma/nuxt/dist/runtime/server/utils/prisma.mjs:6:43)
 ⁃ at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
 ⁃ at async ViteNodeRunner.runModule (node_modules/.pnpm/vite-node@3.1.2_@types+node@22.15.2_jiti@2.4.2_lightningcss@1.29.2_terser@5.39.0_yaml@2.7.1/node_modules/vite-node/dist/client.mjs:354:3)
 ⁃ at async ViteNodeRunner.directRequest (node_modules/.pnpm/vite-node@3.1.2_@types+node@22.15.2_jiti@2.4.2_lightningcss@1.29.2_terser@5.39.0_yaml@2.7.1/node_modules/vite-node/dist/client.mjs:333:3)
 ⁃ at async ViteNodeRunner.cachedRequest (node_modules/.pnpm/vite-node@3.1.2_@types+node@22.15.2_jiti@2.4.2_lightningcss@1.29.2_terser@5.39.0_yaml@2.7.1/node_modules/vite-node/dist/client.mjs:168:11)
 ⁃ at async ViteNodeRunner.dependencyRequest (node_modules/.pnpm/vite-node@3.1.2_@types+node@22.15.2_jiti@2.4.2_lightningcss@1.29.2_terser@5.39.0_yaml@2.7.1/node_modules/vite-node/dist/client.mjs:216:10)
 ⁃ (async node_modules/.pnpm/@prisma+nuxt@0.3.0_magicast@0.3.5_prisma@6.6.0_typescript@5.8.3__typescript@5.8.3_vite@_8a31613188780f4a229d1d52658694f7/node_modules/@prisma/nuxt/dist/runtime/plugin.mjs:2:31)
 ⁃ at async ViteNodeRunner.runModule (node_modules/.pnpm/vite-node@3.1.2_@types+node@22.15.2_jiti@2.4.2_lightningcss@1.29.2_terser@5.39.0_yaml@2.7.1/node_modules/vite-node/dist/client.mjs:354:3)

[CAUSE]
Error {
  stack: '@prisma/client did not initialize yet. Please run "prisma generate" and try to import it again.\n' +
  'at new PrismaClient (./node_modules/.pnpm/@prisma+client@6.6.0_prisma@6.6.0_typescript@5.8.3__typescript@5.8.3/node_modules/.prisma/client/default.js:43:11)\n' +
  'at prismaClientSingleton (./node_modules/.pnpm/@prisma+nuxt@0.3.0_magicast@0.3.5_prisma@6.6.0_typescript@5.8.3__typescript@5.8.3_vite@_8a31613188780f4a229d1d52658694f7/node_modules/@prisma/nuxt/dist/runtime/server/utils/prisma.mjs:4:10)\n' +
  'at ./node_modules/.pnpm/@prisma+nuxt@0.3.0_magicast@0.3.5_prisma@6.6.0_typescript@5.8.3__typescript@5.8.3_vite@_8a31613188780f4a229d1d52658694f7/node_modules/@prisma/nuxt/dist/runtime/server/utils/prisma.mjs:6:43)\n' +
  '    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n' +
  'at async ViteNodeRunner.runModule (./node_modules/.pnpm/vite-n'... 1322 more characters,
  message: '@prisma/client did not initialize yet. Please run "prisma generate" 
  and try to import it again.',
}

Package.json

{
	"name": "todo-list",
	"version": "1.0.0",
	"private": true,
	"main": "index.js",
	"packageManager": "pnpm@10.5.2",
	"engines": {
		"node": ">=18"
	},
	"scripts": {
		"build": "nuxt build",
		"dev": "nuxt dev",
		"generate": "nuxt generate",
		"preview": "nuxt preview",
		"postinstall": "nuxt prepare"
	},
	"dependencies": {
		"@prisma/client": "6.6.0",
		"@prisma/nuxt": "^0.3.0",
		"@tailwindcss/vite": "^4.1.4",
		"class-variance-authority": "^0.7.1",
		"clsx": "^2.1.1",
		"lucide-vue-next": "^0.503.0",
		"nuxt": "^3.16.2",
		"pathe": "^2.0.3",
		"reka-ui": "^2.2.0",
		"shadcn-nuxt": "2.1.0",
		"sortablejs": "^1.15.6",
		"sortablejs-vue3": "^1.2.11",
		"tailwind-merge": "^3.2.0",
		"tailwindcss": "^4.1.4",
		"tw-animate-css": "^1.2.8",
		"vue": "^3.5.13",
		"vue-router": "^4.5.0"
	},
	"devDependencies": {
		"prisma": "6.6.0",
		"typescript": "^5.8.3"
	},
	"pnpm": {
		"onlyBuiltDependencies": [
			"@parcel/watcher",
			"@prisma/client",
			"@prisma/engines",
			"esbuild",
			"prisma",
			"vue-demi"
		]
	}
}

Schema.prisma

generator client {
  provider = "prisma-client-js"
  output   = "../lib/generated/prisma"
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

Project Files

Notice that the Prisma Client is indeed generated under the default path: "./lib/generated/prisma"

Image

Steps to reproduce:

  • Create clean nuxt project npx nuxi@latest init
  • pnpm install @prisma/nuxt
  • add @prisma/nuxt to nuxt.config.ts modules
  • pnpm dev
  • select prisma console defaults
  • open browser `https://localhost:3000/'

Repo with reproduction

https://github.com/abrakazinga/todo-list

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions