prisma icon indicating copy to clipboard operation
prisma copied to clipboard

Turorepo: `Error: Cannot find module '.../node_modules/src/node_modules/prisma/build/index.js'`

Open martinez-hugo opened this issue 2 years ago • 1 comments

Bug description

When I run any prisma command, I have this error :

node:internal/modules/cjs/loader:1147
  throw err;
  ^

Error: Cannot find module '/Users/hugomartinez/veille-360/node_modules/src/node_modules/prisma/build/index.js'
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:135:12)
    at node:internal/main/run_main_module:28:49 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

How to reproduce

A monorepo managed with turbo My workspace that use prisma is src

prisma deps is added as dev dependency in src package.json file

And so I run npx prismaor npx prisma generate in src directory and that's not works

Expected behavior

No response

Prisma information

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  url = env("POSTGRES_PRISMA_URL") // uses connection pooling
  directUrl = env("POSTGRES_URL_NON_POOLING") // uses a direct connection
}

model Clients {
  id Int  @id @default(autoincrement())
  name String
  logo String
} 

{
	"name": "veille-360",
	"version": "0.1.0",
	"private": true,
	"globalDotEnv": [".env"],
	"scripts": {
		"build": "turbo build",
		"dev": "dotenv -- turbo dev",
		"lint": "turbo lint",
		"format": "prettier --write \"**/*.{ts,tsx,md}\""
	},
	"pipeline": {
		"build": {
			"dotEnv": [
				".env.production.local",
				".env.local",
				".env.production",
				".env"
			]
		},
		"dev": {
			"dotEnv": [
				".env.production.local",
				".env.local",
				".env.production",
				".env"
			]
		},
		"test": {
			"dotEnv": [
				".env.production.local",
				".env.local",
				".env.production",
				".env"
			]
		}
	},
	"workspaces": ["src", "emails-server", "data"],
	"dependencies": {
		"classnames": "^2.5.0",
		"dotenv-cli": "latest"
	},
	"engines": {
		"node": ">=20"
	},
	"devDependencies": {
		"@biomejs/biome": "1.4.1"
	},
	"packageManager": "[email protected]"
}
{
	"name": "src",
	"version": "0.1.0",
	"scripts": {
		"dev": "next dev",
		"build": "next build",
		"start": "next start",
		"lint": "next lint"
	},
	"dependencies": {
		"@heroicons/react": "^2.1.1",
		"@hookform/resolvers": "^3.3.2",
		"@prisma/client": "^5.7.1",
		"@radix-ui/react-accordion": "^1.1.2",
		"@radix-ui/react-dialog": "^1.0.5",
		"@radix-ui/react-icons": "^1.3.0",
		"@radix-ui/react-label": "^2.0.2",
		"@radix-ui/react-popover": "^1.0.7",
		"@radix-ui/react-scroll-area": "^1.0.5",
		"@radix-ui/react-separator": "^1.0.3",
		"@radix-ui/react-slot": "^1.0.2",
		"@radix-ui/react-toast": "^1.1.5",
		"@react-email/button": "0.0.13",
		"@react-email/components": "^0.0.12",
		"@react-email/html": "0.0.7",
		"@react-email/render": "^0.0.10",
		"@react-email/tailwind": "0.0.13",
		"@vercel/blob": "^0.16.1",
		"@vercel/postgres": "^0.5.1",
		"class-variance-authority": "^0.7.0",
		"clsx": "^2.0.0",
		"date-fns": "^3.0.6",
		"emails-server": "*",
		"geist": "^1.2.0",
		"nanoid": "^5.0.4",
		"next": "^14.0.4",
		"postmark": "^4.0.2",
		"react": "^18.2.0",
		"react-day-picker": "^8.10.0",
		"react-dom": "^18.2.0",
		"react-email": "^1.10.0",
		"react-hook-form": "^7.49.2",
		"tailwind-merge": "^2.2.0",
		"tailwindcss-animate": "^1.0.7",
		"vercel": "^33.0.1",
		"zod": "^3.22.4"
	},
	"devDependencies": {
		"@types/node": "^20",
		"@types/react": "^18.2.46",
		"@types/react-dom": "^18.2.18",
		"@types/uuid": "^9.0.7",
		"autoprefixer": "^10",
		"depcheck": "^1.4.7",
		"eslint": "^8",
		"eslint-config-next": "^14.0.4",
		"postcss": "^8",
		"prettier": "3.1.1",
		"prisma": "^5.7.1",
		"tailwindcss": "^3",
		"typescript": "^5"
	},
	"overrides": {
		"@react-email/render": "^0.0.9"
	}
}

Environment & setup

  • OS: macOS
  • Database: PostegreSQL
  • Node.js version: 20.10.0

Prisma Version

prisma                  : 5.7.1
@prisma/client          : 5.7.1
Computed binaryTarget   : darwin-arm64
Operating System        : darwin
Architecture            : arm64
Node.js                 : v20.10.0
Query Engine (Node-API) : libquery-engine 0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5 (at node_modules/@prisma/engines/libquery_engine-darwin-arm64.dylib.node)
Schema Engine           : schema-engine-cli 0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5 (at node_modules/@prisma/engines/schema-engine-darwin-arm64)
Schema Wasm             : @prisma/prisma-schema-wasm 5.7.1-1.0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5
Default Engines Hash    : 0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5
Studio                  : 0.495.0

martinez-hugo avatar Dec 31 '23 11:12 martinez-hugo

Internal note: this is possibly a Next.js/Turbopack issue, OP has already opened an issue at https://github.com/vercel/next.js/issues/60110.

jkomyno avatar Jan 02 '24 14:01 jkomyno