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

Yarn v4 Monorepo中CLI运行drizzle-kit无法找到drizzle-orm

Yarn v4 + PNP + Monorepo下drizzle-kit无法检测drizzle-orm的问题

我用Yarn Workspaces搭建了Monorepo项目,升级到Yarn v4后,直接通过CLI运行drizzle-kit时出现无法检测到drizzle-orm的错误。

执行命令

yarn drizzle-kit generate --name foo

错误信息

/Users/anthony/dev/theproject/.pnp.cjs:13083
      Error.captureStackTrace(firstError);
            ^

Error: drizzle-kit tried to access drizzle-orm, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.

Required package: drizzle-orm (via "drizzle-orm/casing")
Required by: drizzle-kit@npm:0.26.2 (via /Users/anthony/.yarn/berry/cache/drizzle-kit-npm-0.26.2-c249bdc6e1-10c0.zip/node_modules/drizzle-kit/)

Require stack:
- /Users/anthony/.yarn/berry/cache/drizzle-kit-npm-0.26.2-c249bdc6e1-10c0.zip/node_modules/drizzle-kit/bin.cjs
    at require$$0.Module._resolveFilename (/Users/anthony/dev/theproject/.pnp.cjs:13083:13)
    at Module._load (node:internal/modules/cjs/loader:1074:27)
    at require$$0.Module._load (/Users/anthony/dev/theproject/.pnp.cjs:12974:31)
    at TracingChannel.traceSync (node:diagnostics_channel:315:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
    at Module.require (node:internal/modules/cjs/loader:1339:12)
    at require (node:internal/modules/helpers:126:16)
    at src/utils.ts (/Users/anthony/.yarn/berry/cache/drizzle-kit-npm-0.26.2-c249bdc6e1-10c0.zip/node_modules/drizzle-kit/bin.cjs:6775:21)
    at __init (/Users/anthony/.yarn/berry/cache/drizzle-kit-npm-0.26.2-c249bdc6e1-10c0.zip/node_modules/drizzle-kit/bin.cjs:10:56)
    at Object.<anonymous> (/Users/anthony/.yarn/berry/cache/drizzle-kit-npm-0.26.2-c249bdc6e1-10c0.zip/node_modules/drizzle-kit/bin.cjs:85751:1)

当前配置

子项目@myproject/users-api的package.json(部分)

{
  "name": "@myproject/users-api",
  "version": "1.0.0",
  "dependencies": {
    "drizzle-orm": "^0.35.1",
    . . .
  },
  "devDependencies": {
    "drizzle-kit": "^0.26.2",
    . . .
  },
  . . .
}

项目根目录的.yarnrc.yml

nodeLinker: pnp

已验证的可行操作

  • 把drizzle-kit和drizzle-orm安装到项目根目录,通过workspace命令运行成功:
    yarn workspace @myproject/users-api db:generate foo
    
  • 将nodeLinker切换为node-modules后,直接执行yarn drizzle-kit generate --name foo也能正常运行:
    nodeLinker: node-modules
    

请问我是不是遗漏了什么必要的配置?


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 04:57:41