执行Prisma DB Push时遇ts-node找不到enum-generator模块错误求助
解决Prisma db push时找不到enum-generator模块的问题
执行命令 npx prisma db push --schema='calcom/packages/prisma/schema.prisma' 时出现如下错误:
Error: Generator "ts-node --transpile-only ./enum-generator" failed: node:internal/modules/cjs/loader:998 throw err; ^ Error: Cannot find module './enum-generator' Require stack: - /home/dev/calcom-docker/imaginaryUncacheableRequireResolveScript at Function.Module._resolveFilename (node:internal/modules/cjs/loader:995:15) at Function.resolve (node:internal/modules/cjs/helpers:109:19) at requireResolveNonCached (/home/dev/.nvm/versions/node/v16.19.0/lib/node_modules/ts-node/dist/bin.js:549:16) at getProjectSearchDir (/home/dev/.nvm/versions/node/v16.19.0/lib/node_modules/ts-node/dist/bin.js:519:40) at phase3 (/home/dev/.nvm/versions/node/v16.19.0/lib/node_modules/ts-node/dist/bin.js:267:27) at bootstrap (/home/dev/.nvm/versions/node/v16.19.0/lib/node_modules/ts-node/dist/bin.js:47:30) at main (/home/dev/.nvm/versions/node/v16.19.0/lib/node_modules/ts-node/dist/bin.js:33:12) at Object.<anonymous> (/home/dev/.nvm/versions/node/v16.19.0/lib/node_modules/ts-node/dist/bin.js:579:5) at Module._compile (node:internal/modules/cjs/loader:1165:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10) { code: 'MODULE_NOT_FOUND', requireStack: [ '/home/dev/calcom-docker/imaginaryUncacheableRequireResolveScript' ] }
问题分析
这个错误并非单纯缺少第三方依赖,核心原因是Calcom项目自定义的枚举生成器文件缺失或路径配置错误,同时需确保项目依赖环境完整。
解决步骤
确认enum-generator文件存在
检查calcom/packages/prisma/目录下是否有enum-generator.ts文件。如果没有,从Calcom官方代码仓库同步该文件——这是项目内置的自定义生成器脚本,不属于公开npm包。安装完整项目依赖
在Calcom项目根目录执行以下命令,确保所有项目依赖(包括TypeScript编译相关依赖)安装到位:npm install # 或使用yarn yarn install验证生成器路径配置
打开calcom/packages/prisma/schema.prisma,检查枚举生成器的配置项,确保路径相对于schema文件是正确的:generator enumGenerator { provider = "ts-node --transpile-only ./enum-generator" }这里的
./enum-generator需指向同目录下的enum-generator.ts文件,若文件后缀为.ts也可显式写为./enum-generator.ts。适配ts-node与TypeScript版本
你的Node版本为v16.19.0,建议安装兼容该版本的ts-node和TypeScript,避免版本不兼容导致解析问题:npm install ts-node@10 typescript@4 --save-dev
内容的提问来源于stack exchange,提问作者Abhishek Vats
相关产品推荐
相关产品推荐

