如何解决无法生成 Prisma 客户端,outputDir.endsWith 不是函数
我正在使用 Next.js、Prisma 和 Nexus (nexus-plugin-prisma),并一直试图生成一个 Prisma 客户端,但无济于事。每当我运行 npx prisma generate
时,我都会收到以下错误:
TypeError: outputDir.endsWith is not a function
at getDotPrismaDir (...)
at generateClient (...)
这些是我的依赖项:
"dependencies": {
"@prisma/client": "^2.19.0","apollo-server-micro": "^2.22.2","graphql": "^15.5.0","next": "10.1.3","nexus": "^1.0.0","nexus-plugin-prisma": "^0.33.0","react": "17.0.2","react-dom": "17.0.2"
},"devDependencies": {
"@types/react": "^17.0.3","prisma": "^2.20.1","typescript": "^4.2.3"
}
}
我一直按照 Prisma CLI 的建议执行这些步骤(到第 3 步):
Next steps:
1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet,read https://pris.ly/d/getting-started
2. Set the provider of the datasource block in schema.prisma to match your database: postgresql,mysql or sqlite.
3. Run prisma db pull to turn your database schema into a Prisma data model.
4. Run prisma generate to install Prisma Client. You can then start querying your database.
这是怎么回事?
解决方法
将 @prisma/client
和 prisma
更新到最新版本,即 2.20.1 应该可以解决这个问题。
原来 prisma
的版本需要与 @prisma/client
提供的 nexus-plugin-prisma
版本相同。将 prisma
更改为 2.19.x
并生成客户端有效!
注意:您也不需要单独安装 @prisma/client
,因为它随插件一起提供。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。