使用 vite-netlify 项目安装 prisma

问题描述 投票:0回答:1

在我的项目中,我尝试安装 prisma 以便创建一个无服务器函数来注册 mysql 数据库(位于我的电脑本地)。所以我按照以下步骤操作:

npm install prisma --save-dev
npx prisma init

在我的项目中使用scheme.prisma创建了一个prisma文件夹后,我将其更改为:

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

并将 .env 更改为:

DATABASE_URL="mysql://root:Mysqlpass@localhost:3306/mytable"

现在我运行此命令“prisma db pull”,它相应地更改了我的 prisma.scheme 文件:

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

model users {
  username String @id @db.VarChar(12)
  email    String @unique(map: "email") @db.VarChar(254)
  password String @db.VarChar(24)
  date     String @db.VarChar(255)
}

如果我运行命令“netlify dev”,该项目运行良好,没有错误。然而,当我进入下一步,即使用 “prisma generated” 创建 prisma 客户端时,它一开始似乎确实有效:

Environment variables loaded from .env
Prisma schema loaded from prisma\schema.prismaGenerated Prisma Client (v5.4.1) to .\node_modules\@prisma\client in 104ms

Start using Prisma Client in Node.js (See: https://pris.ly/d/client)        

import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()

or start using Prisma Client at the edge (See: https://pris.ly/d/accelerate)

import { PrismaClient } from '@prisma/client/edge'
const prisma = new PrismaClient()

See other ways of importing Prisma Client: http://pris.ly/d/importing-client

但是现在当我运行 “netlify dev”时,我收到此错误:

◈ Netlify Dev ◈
◈ Ignored general context env var: LANG (defined in process)
◈ Injected .env file env var: MAPLE_CONTENTFUL_SPACE_ID     
◈ Injected .env file env var: MAPLE_CONTENTFUL_ACCESS_KEY   
◈ Injected .env file env var: RECAPTCHA_KEY
◈ Injected .env file env var: RECAPTCHA_CLIENT
◈ Injected .env file env var: ReCAPTCHA_LOCALHOST
◈ Injected .env file env var: DATABASE_URL
◈ Setting up local development server
◈ Starting Netlify Dev with Vite

> [email protected] dev
> vite


  VITE v4.4.7  ready in 2019 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
✔ Waiting for framework port 5173. This can be configured using the 'targetPort' property in the netlify.toml

   ┌─────────────────────────────────────────────────┐
   │                                                 │
   │   ◈ Server now ready on http://localhost:8888   │
   │                                                 │
   └─────────────────────────────────────────────────┘

◈ Failed to load function recaptcha: Cannot read from `C:/Users/playe/OneDrive/Documents/GitHub/MapleBGU/mapleBGU-react/node_modules/.prisma`: EISDIR: illegal operation on a directory, read
◈ Failed to load function register: Cannot read from `C:/Users/playe/OneDrive/Documents/GitHub/MapleBGU/mapleBGU-react/node_modules/.prisma`: EISDIR: illegal operation on a directory, read
◈ Failed to load function contentful: Cannot read from `C:/Users/playe/OneDrive/Documents/GitHub/MapleBGU/mapleBGU-react/node_modules/.prisma`: EISDIR: illegal operation on a directory, read

 »   Error: Netlify CLI has terminated unexpectedly
This is a problem with the Netlify CLI, not with your application.
If you recently updated the CLI, consider reverting to an older version by running:

npm install -g netlify-cli@VERSION

You can use any version from https://ntl.fyi/cli-versions.

Please report this problem at https://ntl.fyi/cli-error including the error details below.

NestedError: Cannot read from `C:/Users/playe/OneDrive/Documents/GitHub/MapleBGU/mapleBGU-react/node_modules/.prisma`: EISDIR: illegal operation on a directory, read
    at Module.createReadStream (file:///C:/Users/playe/AppData/Roaming/npm/node_modules/netlify-cli/node_modules/cp-file/fs.js:21:9) 
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at copyFileAsync (file:///C:/Users/playe/AppData/Roaming/npm/node_modules/netlify-cli/node_modules/cp-file/index.js:11:21)       
    at file:///C:/Users/playe/AppData/Roaming/npm/node_modules/netlify-cli/node_modules/p-map/index.js:141:20
Caused By: Error: EISDIR: illegal operation on a directory, read

  System:
    OS: Windows 10 10.0.19043
    CPU: (4) x64 Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz
  Binaries:
    Node: 18.17.1 - C:\Program Files\nodejs\node.EXE
    npm: 9.6.7 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 117.0.5938.134
    Edge: Spartan (44.19041.1266.0), Chromium (118.0.2088.27)

我有 3 个 netlify 无服务器函数,但它们都没有使用 prisma,并且它们位于“netlify-functions”文件夹内。这是我的 netlify.toml 文件:

[build]
command = "npm run build"
publish = "dist"
functions = "netlify-functions/"

我希望能够正确安装 Prisma 以及我的 Vite 项目和 Netlify 无服务器功能。 起初,我尝试完全卸载 Prisma 并再次执行此操作,但没有任何反应。也尝试与 chatGPT 合作,但都没有成功。

mysql prisma netlify netlify-function netlify-cli
1个回答
0
投票

我现在也面临着同样的问题。你找到解决办法了吗?”

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.