我正在使用无服务器框架构建一个无服务器函数。然而,我有一个问题,运行它在本地
错误:enent:没有这样的文件或目录,开放"/.esbuild .build/node_modules/.prisma/客户/schema.prisma">
棱镜/schema.prisma
generator client {
provider = "prisma-client-js"
binaryTargets = ["native", "rhel-openssl-1.0.x"]
}
serverless.ts
package: {
individually: true,
patterns: [
"!node_modules/.prisma/client/libquery_engine-*",
"node_modules/.prisma/client/libquery_engine-rhel-*",
"!node_modules/prisma/libquery_engine-*",
"!node_modules/@prisma/engines/**",
],
},
步骤:
npx prisma generate && npm install
sls invoke local -f main
我做错了什么?
注意:
尝试遵循此示例:https://github.com/prisma/prisma-examples/tree/latest/deployment-platforms/aws-lambda
我正在使用无服务器的aws-nodejs- typescript模板,它使用serverless-esbuild而不是serverless-webpack
你可以通过设置Prisma Client的位置来解决这个问题。它对local和lambda都有效。
棱镜/schema.prisma
generator client {
provider = "prisma-client-js"
output = "../src/generated/client"
}
npx prisma generate
serverless.ts
package: {
individually: true,
patterns: [
"src/generated/client/schema.prisma",
"!src/generated/client/libquery_engine-*",
"src/generated/client/libquery_engine-rhel-*",
"!node_modules/prisma/libquery_engine-*",
"!node_modules/@prisma/engines/**",
],
},
import { PrismaClient } from "../generated/client";
<<p>文件夹结构/strong>- src
- functions
- generated
- serverless.ts
- ...
看起来您正在尝试从node_modules
文件导入prisma.schema
文件,这不是它通常去的地方。哪里是你的prisma.schema
文件位于相对于你的项目的根?
如果不在./prisma.schema
中,则需要使用以下选项配置其位置:
https://www.prisma.io/docs/concepts/components/prisma-schema prisma-schema-file-location