TurboRepo+Next.js+Prisma+TRPC构建类型错误求助
TurboRepo+Next.js+Prisma+TRPC构建类型错误问题
我正在开发Web应用convoform.com,基于TurboRepo+Next.js+Prisma+TRPC架构搭建,本地执行pnpm dev可正常运行,但执行pnpm build时出现如下类型错误:
web:build: Type error: The inferred type of 'api' cannot be named without a reference to '../../../../packages/db/node_modules/@prisma/client/runtime/library'. This is likely not portable. A type annotation is necessary.
完整构建日志:
> turbo build • Packages in scope: @convoform/api, @convoform/db, @convoform/eslint-config, @convoform/tsconfig, @convoform/ui, web • Running build in 6 packages • Remote caching disabled @convoform/db:db:generate: cache bypass, force executing 724a3682c1a2d93d @convoform/db:db:generate: @convoform/db:db:generate: > @convoform/db@0.0.0 db:generate /Users/utkarshanand/Development/personal/smart-form-wizard/packages/db @convoform/db:db:generate: > prisma generate @convoform/db:db:generate: @convoform/db:db:generate: Prisma schema loaded from prisma/schema.prisma @convoform/db:db:generate: @convoform/db:db:generate: ✔ Generated Prisma Client (v5.8.1) to ./../../node_modules/.pnpm/@prisma+client@5.8.1_prisma@5.8.1/node_modules/@prisma/client in 92ms @convoform/db:db:generate: @convoform/db:db:generate: Start using Prisma Client in Node.js (See: https://pris.ly/d/client) @convoform/db:db:generate: ``` @convoform/db:db:generate: import { PrismaClient } from '@prisma/client' @convoform/db:db:generate: const prisma = new PrismaClient() @convoform/db:db:generate: ``` @convoform/db:db:generate: or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate) @convoform/db:db:generate: ``` @convoform/db:db:generate: import { PrismaClient } from '@prisma/client/edge' @convoform/db:db:generate: const prisma = new PrismaClient() @convoform/db:db:generate: ``` @convoform/db:db:generate: @convoform/db:db:generate: See other ways of importing Prisma Client: http://pris.ly/d/importing-client @convoform/db:db:generate: @convoform/db:db:generate: ┌─────────────────────────────────────────────────────────────┐ @convoform/db:db:generate: │ Deploying your app to serverless or edge functions? │ @convoform/db:db:generate: │ Try Prisma Accelerate for connection pooling and caching. │ @convoform/db:db:generate: │ https://pris.ly/cli/accelerate │ @convoform/db:db:generate: └─────────────────────────────────────────────────────────────┘ @convoform/db:db:generate: web:build: cache miss, executing 47d378c71dc23084 web:build: web:build: > web@0.2.1 build /Users/utkarshanand/Development/personal/smart-form-wizard/apps/web web:build: > next build web:build: web:build: ▲ Next.js 14.1.0 web:build: - Environments: .env.local web:build: - Experiments (use at your own risk): web:build: · swcPlugins web:build: web:build: Creating an optimized production build ... web:build: ✓ Compiled successfully web:build: Linting and checking validity of types ... web:build: Failed to compile. web:build: web:build: ./src/trpc/server.ts:35:14 web:build: Type error: The inferred type of 'api' cannot be named without a reference to '../../../../packages/db/node_modules/@prisma/client/runtime/library'. This is likely not portable. A type annotation is necessary. web:build: web:build: 33 | }); web:build: 34 | web:build: > 35 | export const api = createTRPCProxyClient<AppRouter>({ web:build: | ^ web:build: 36 | transformer: superjson, web:build: 37 | links: [ web:build: 38 | loggerLink({ web:build: ELIFECYCLE Command failed with exit code 1. web:build: ERROR: command finished with error: command (/Users/utkarshanand/Development/personal/smart-form-wizard/apps/web) /Users/utkarshanand/.volta/bin/pnpm run build exited (1) web#build: command (/Users/utkarshanand/Development/personal/smart-form-wizard/apps/web) /Users/utkarshanand/.volta/bin/pnpm run build exited (1) Tasks: 1 successful, 2 total Cached: 0 cached, 2 total Time: 40.395s Failed: web#build ERROR run failed: command exited (1) ELIFECYCLE Command failed with exit code 1.
我已经尝试调整tsconfig等各种配置,但均无效。发现若不在TRPC包的context中使用Prisma Client,该错误就会消失,相关代码位于api包的server/api/trpc.ts文件第33行。
内容的提问来源于stack exchange,提问作者GrowUpAnand
相关产品推荐
相关产品推荐

