[{"data":1,"prerenderedAt":162},["ShallowReactive",2],{"page-/post/nuxt/nuxt3-prisma-binarytargets":3,"surrounding-page":153},{"id":4,"title":5,"author":6,"body":7,"date":137,"description":5,"extension":138,"group":6,"lastmod":139,"meta":140,"navigation":141,"path":142,"rawbody":143,"seo":144,"showTitle":6,"stem":145,"tags":146,"versions":149,"__hash__":152},"content/post/nuxt/Nuxt3-prisma-binaryTargets.md","Nuxt3中使用prisma binaryTargets多环境配置",null,{"type":8,"value":9,"toc":135},"minimark",[10,17,28,93,107,122,131],[11,12,13],"p",{},[14,15,16],"strong",{},"场景： 本地使用macos开发，服务器是Debian12，打包时需要本地打包再上传",[11,18,19,23,24,27],{},[20,21,22],"code",{},"schema.prisma"," 配置 ",[20,25,26],{},"binaryTargets"," 字段，本地正常使用，打包后会自动区分环境",[29,30,35],"pre",{"className":31,"code":32,"language":33,"meta":34,"style":34},"language-shell shiki shiki-themes github-light","generator client {\n  provider      = \"prisma-client-js\"\n  binaryTargets = [\"native\", \"debian-openssl-3.0.x\"]\n}\n","shell","",[20,36,37,53,65,87],{"__ignoreMap":34},[38,39,42,46,50],"span",{"class":40,"line":41},"line",1,[38,43,45],{"class":44},"s7eDp","generator",[38,47,49],{"class":48},"sYBdl"," client",[38,51,52],{"class":48}," {\n",[38,54,56,59,62],{"class":40,"line":55},2,[38,57,58],{"class":44},"  provider",[38,60,61],{"class":48},"      =",[38,63,64],{"class":48}," \"prisma-client-js\"\n",[38,66,68,71,74,78,81,84],{"class":40,"line":67},3,[38,69,70],{"class":44},"  binaryTargets",[38,72,73],{"class":48}," =",[38,75,77],{"class":76},"sgsFI"," [",[38,79,80],{"class":48},"\"native\"",[38,82,83],{"class":76},", ",[38,85,86],{"class":48},"\"debian-openssl-3.0.x\"]\n",[38,88,90],{"class":40,"line":89},4,[38,91,92],{"class":76},"}\n",[11,94,95,96,99,100,103,104,106],{},"可以看到 ",[20,97,98],{},"generate"," 时生成的目录下有俩 ",[20,101,102],{},".node"," 二进制包，分别对应 ",[20,105,26],{}," 两个环境",[11,108,109,110,113,114,117,118,121],{},"另外：不要把output指定到node_modules外面，",[14,111,112],{},"使用默认配置即可","，这样打包后的文件里使用了 ",[20,115,116],{},"__dirname"," 导致会报错。 此条解决办法来自",[20,119,120],{},"github issues"," ，有更好的办法，欢迎留言",[29,123,125],{"className":31,"code":124,"language":33,"meta":34,"style":34},"[nuxt] [request error] [unhandled] [500] __dirname is not defined in ES module scope\n",[20,126,127],{"__ignoreMap":34},[38,128,129],{"class":40,"line":41},[38,130,124],{"class":76},[132,133,134],"style",{},"html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":34,"searchDepth":55,"depth":55,"links":136},[],"2024-11-15T00:00:00.000Z","md","2025-04-09T00:00:00.000Z",{},true,"/post/nuxt/nuxt3-prisma-binarytargets","---\ntitle: Nuxt3中使用prisma binaryTargets多环境配置\ndate: 2024-11-15\nlastmod: 2025-04-09\ntags: [\"博客\", \"Nuxt\"]\nversions: [\"nuxt@3.14.0\", \"@prisma/client@5.22.0\"]\ndescription: Nuxt3中使用prisma binaryTargets多环境配置\n---\n**场景： 本地使用macos开发，服务器是Debian12，打包时需要本地打包再上传**\n\n`schema.prisma` 配置 `binaryTargets` 字段，本地正常使用，打包后会自动区分环境\n\n```shell\ngenerator client {\n  provider      = \"prisma-client-js\"\n  binaryTargets = [\"native\", \"debian-openssl-3.0.x\"]\n}\n```\n\n可以看到 `generate` 时生成的目录下有俩 `.node` 二进制包，分别对应 `binaryTargets` 两个环境\n\n另外：不要把output指定到node_modules外面，**使用默认配置即可**，这样打包后的文件里使用了 `__dirname` 导致会报错。 此条解决办法来自`github issues` ，有更好的办法，欢迎留言\n \n```shell\n[nuxt] [request error] [unhandled] [500] __dirname is not defined in ES module scope\n```\n\n",{"title":5,"description":5},"post/nuxt/Nuxt3-prisma-binaryTargets",[147,148],"博客","Nuxt",[150,151],"nuxt@3.14.0","@prisma/client@5.22.0","A96_n67sOicOnGX19DGgd8qvr4SfNdw26Yx_DEv78iw",[154,158],{"title":155,"path":156,"stem":157},"OpenClaw 安装入门（Windows）","/post/zzao/openclaw/openclaw-install-windows","post/zzao/openclaw/openclaw-install-windows",{"title":159,"path":160,"stem":161},"假设你是AI，你的Skill应该是什么样的","/post/zzao/ai-skill-structure","post/zzao/ai-skill-structure",1779005086589]