pnpm monorepo 使用prisma 如何避免migrate的时候导致 @prisma/client 全局变更?
就是monorepo 有多个使用 prisma
当在某个子应用中migrate或generate 会把 @prisma/client 放到全局而不是 导致其他的使用prisma的子项目也收到影响
尝试过在 npmrc 上加 hoist-pattern like below
hoist-pattern[]=!@prisma/client
hoist-pattern[]=!prisma
但是不行
如果是 yarn monorepo 可以在package中设置 nohoist like below:
"workspaces": {
"packages": ["packages/*"],
"nohoist": ["**/prisma", "..."]
}
参考
https://classic.yarnpkg.com/blog/2018/02/15/nohoist/
https://stackoverflow.com/questions/67857304/is-there-a-way-to-exclude-a-specific-package-from-hoisting-in-pnpm
https://pnpm.io/npmrc