javascriptexpressormprisma

Prisma Client Initialization Issue After Running npx prisma generate


I'm facing an issue with Prisma Client initialization after running npx prisma generate. Here's the error I'm encountering:

PS C:\Users\USER\DataAnalytics> node Scripts/loadData.js      
[class PrismaClient]
C:\Users\USER\DataAnalytics\node_modules\.prisma\client\default.js:43
    throw new Error('@prisma/client did not initialize yet. Please run "prisma generate" and try to import it again.');
^

Error: @prisma/client did not initialize yet. Please run "prisma generate" and try to import it again.
    at new PrismaClient (C:\Users\USER\DataAnalytics\node_modules\.prisma\client\default.js:43:11)
    at Object.<anonymous> (C:\Users\USER\DataAnalytics\Scripts\loadData.js:5:16)
    at Module._compile (node:internal/modules/cjs/loader:1554:14)
    at Object..js (node:internal/modules/cjs/loader:1706:10)
    at Module.load (node:internal/modules/cjs/loader:1289:32)
    at Function._load (node:internal/modules/cjs/loader:1108:12)
    at TracingChannel.traceSync (node:diagnostics_channel:322:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:220:24)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:170:5)
    at node:internal/main/run_main_module:36:49

Node.js v22.14.0

Load Data.js

const fs = require('fs');
const csv = require('csv-parser');
const { PrismaClient } = require('@prisma/client'); 
console.log(PrismaClient); // Added this for debugging
const prisma = new PrismaClient();  

const path = require('path');

async function ImportMatches() {
    const results = [];
    fs.createReadStream(path.join(__dirname, 'matches.csv'))
        .pipe(csv())
        .on('data', (data) => {
            results.push({
                id: parseInt(data.id),
                season: parseInt(data.season),
                date: new Date(data.date),
                team1: data.team1,
                team2: data.team2,
                // (other fields trimmed for brevity)
            });
        })
        .on('end', async () => {
            for (const match of results) {
                await prisma.match.create({ data: match });
            }
            console.log('Matches imported successfully!');
            await prisma.$disconnect();
        })
        .on('error', (error) => {
            console.error('CSV read error:', error);
        });
}

ImportMatches();

when i run npx prisma generate

 PS C:\Users\USER\DataAnalytics> npx prisma generate
Environment variables loaded from .env
Prisma schema loaded from prisma\schema.prisma

✔ Generated Prisma Client (v6.6.0) to .\generated\prisma in 102ms

Start by importing your Prisma Client (See: https://pris.ly/d/importing-client)

Tip: Easily identify and fix slow SQL queries in your app. Optimize helps you enhance your visibility: https://pris.ly/--optimize
node Scripts/loadData.js

Things I’ve tried:

Running npx prisma generate again.

Checking node_modules/@prisma/client for the generated client.

Rebuilding node_modules by deleting node_modules and package-lock.json, then running npm install.

I’m using Node.js v22.14.0, Prisma v6.6.0, and PostgreSQL as the database.


Solution

  • Since your generated prisma client resides in .\generated\prisma folder, you need to import the client from this folder.

    So, your problem will be solved if you change your import;

    from;

    const { PrismaClient } = require('@prisma/client');
    

    to;

    const { PrismaClient } = require('./generated/prisma/client');
    

    if this does not work, you can also try this one below additionally;

    const path = require('path');
    const { PrismaClient } = require(path.join('.', 'generated', 'prisma', 'client.js'));
    

    for more info: prisma generated client doc