You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Turbo Monorepo配置web包依赖database导出的drizzle-orm

配置Monorepo让web包复用database包导出的drizzle-orm

核心思路

通过包管理器的依赖重定向和TypeScript路径映射,让@auth/drizzle-adapter在web包中自动使用@repo/database导出的drizzle-orm,无需在web包单独安装依赖。


步骤1:确保database包正确导出drizzle-orm

在packages/database/src/index.ts中导出drizzle-orm的所有内容,同时保留你的数据库实例等业务代码:

// packages/database/src/index.ts
export * from 'drizzle-orm';
// 导出你的数据库实例
export { db } from './db';

同时完善packages/database/package.json的入口配置,确保包能被正确识别:

{
  "name": "@repo/database",
  "main": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "exports": {
    ".": "./dist/index.js",
    "./src": "./src/index.ts"
  }
}

步骤2:根目录配置包管理器依赖重定向

根据你使用的包管理器,在根package.json中添加重定向规则,强制所有包(包括@auth/drizzle-adapter)使用@repo/database作为drizzle-orm的来源:

若使用pnpm:

{
  "pnpm": {
    "overrides": {
      "drizzle-orm@*": "workspace:@repo/database"
    }
  }
}

若使用npm:

{
  "overrides": {
    "drizzle-orm": "file:./packages/database"
  }
}

若使用yarn:

{
  "resolutions": {
    "drizzle-orm": "workspace:@repo/database"
  }
}

注意:确保根package.json的workspaces字段已包含所有子包:

{
  "workspaces": [
    "apps/*",
    "packages/*"
  ]
}

步骤3:配置TypeScript路径映射

为了让TypeScript正确解析drizzle-orm的类型,在web包或根目录的tsconfig.json中添加路径映射:

方式1:web包单独配置(apps/web/tsconfig.json)

{
  "compilerOptions": {
    "paths": {
      "drizzle-orm": ["../../packages/database/src"]
    }
  }
}

方式2:根目录全局配置(tsconfig.json)

{
  "compilerOptions": {
    "paths": {
      "drizzle-orm": ["./packages/database/src"]
    }
  },
  "include": ["apps/**/*", "packages/**/*"]
}

步骤4:验证配置

在web包中直接使用@auth/drizzle-adapter,无需安装drizzle-orm:

// apps/web/src/auth.ts
import { DrizzleAdapter } from '@auth/drizzle-adapter';
import { db } from '@repo/database';

// 此处DrizzleAdapter会自动使用@repo/database导出的drizzle-orm
export const adapter = DrizzleAdapter(db);

执行依赖安装命令(pnpm install/npm install/yarn install)后,启动web项目验证功能是否正常。


内容的提问来源于stack exchange,提问作者nehalist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 00:59:57