我正试图与T.Ed v7.35和Prisma v5.2结婚,this official tutorial岁之后.

在运行npm install之后,我在执行npx prisma generate时收到以下错误:

Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Error: Generator "@tsed/prisma" failed:

/bin/sh: 1: @tsed/prisma: not found

这些是./node_modules/@tsed/prisma/内的文件:

$> ls -lah ./node_modules/@tsed/prisma/
drwxrwxr-x  5 dev dev 4.0K Sep 11 20:35 lib/
drwxrwxr-x  3 dev dev 4.0K Sep 11 20:35 node_modules/
drwxrwxr-x  2 dev dev 4.0K Sep 11 20:35 scripts/
-rw-rw-r--  1 dev dev  135 Sep 11 20:35 .eslintignore
-rw-rw-r--  1 dev dev   50 Sep 11 20:35 .eslintrc.js
-rw-rw-r--  1 dev dev 2.1K Sep 11 20:35 package.json
-rw-rw-r--  1 dev dev 9.6K Sep 11 20:35 readme.md
-rw-rw-r--  1 dev dev  754 Sep 11 20:35 tsconfig.esm.json

因此,该程序包显然已安装.我希望有人能看到我错过了什么. 祝你们所有人好运.<3


Project structure:

drwxrwxr-x 335 dev dev  12K Sep 11 21:19 node_modules/
drwxrwxr-x   3 dev dev 4.0K Sep 11 21:18 prisma/
drwxrwxr-x   4 dev dev 4.0K Sep 11 19:18 src/
-rw-rw-r--   1 dev dev   46 Sep 11 14:14 .env
-rw-rw-r--   1 dev dev 189K Sep 11 21:19 package-lock.json
-rw-rw-r--   1 dev dev 1.4K Sep 11 21:17 package.json
-rw-rw-r--   1 dev dev    0 Sep  8 13:32 readme.md
-rw-rw-r--   1 dev dev  776 Sep 11 20:34 tsconfig.json

package.json:

{
  "name": "demo",
  "version": "0.1.0",
  "scripts": {
    "build": "tsc",
    "start": "node dist/index.js",
    "db:init": "npx prisma generate",
    "db:migrate": "npx prisma migrate dev"
  },
  "dependencies": {
    "ajv": "^8.12.0",
    "koa": "^2.14.2",
    "koa-bodyparser": "^4.4.1",
    "koa-compress": "^5.1.1",
    "koa-override": "^3.0.0",
    "@koa/cors": "^4.0.0",
    "@koa/router": "^12.0.0",
    "prisma": "^5.2.0",
    "@prisma/client": "^5.2.0",
    "@tsed/ajv": "^7.35.0",
    "@tsed/common": "^7.35.0",
    "@tsed/core": "^7.35.0",
    "@tsed/di": "^7.35.0",
    "@tsed/json-mapper": "^7.35.0",
    "@tsed/platform-koa": "^7.35.0",
    "@tsed/prisma": "^7.35.0",
    "@tsed/schema": "^7.35.0"
  },
  "devDependencies": {
    "@types/koa": "^2.13.8",
    "@types/koa__cors": "^4.0.0",
    "@types/koa__router": "^12.0.0",
    "@types/koa-bodyparser": "^4.3.10",
    "@types/koa-compress": "^4.0.3",
    "@types/koa-override": "^3.0.0",
    "@types/multer": "^1.4.7",
    "@types/node": "^20.5.9",
    "nodemon": "^3.0.1",
    "typescript": "^5.2.2"
  }
}

prisma/schema.prisma:

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

generator tsed {
  provider = "@tsed/prisma"
}

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

model Demo {
  /// @TsEd.Groups("!creation")
  id    Int     @id @default(autoincrement())
  uuid  String  @unique
  data  String
}

tsconfig.json:

{
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "dist/",
    "target": "esnext",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "declaration": false,
    "esModuleInterop": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "resolveJsonModule": true,
    "noImplicitAny": true,
    "noUnusedLocals": false,
    "noUnusedParameters": false,
    "allowSyntheticDefaultImports": true,
    "importHelpers": true,
    "preserveConstEnums": true,
    "strictNullChecks": true,
    "skipLibCheck": true,
    "lib": [
      "es7",
      "dom",
      "ESNext.AsyncIterable"
    ]
  },
  "include": [
    "src/**/*.ts"
  ],
  "exclude": [
    "node_modules/",
    "dist/",
    "public/",
    "test/"
  ]
}

推荐答案

您忘了安装@tsed/prisma程序包.

本教程的第一步非常清楚;)

npm i -D prisma
npm i @tsed/prisma @prisma/client

此外,如果我们将Prisma模式与给定的示例进行比较,它似乎是错误的:


generator tsed {
  provider = "tsed-prisma"
}

请遵守指引;)

此外,Ts.ED还提供了CLI来生成具有Prisma功能的新项目.请毫不犹豫地使用它.

再见 罗曼

Node.js相关问答推荐

GraphQL MongoDB Mongoose填充字段未获取多个类别

在Node JS中获取控制台选项卡标题

如何在.npmrc中添加 comments ?

Mongoose抱怨说,整数是数字,而不是整数

条件内的表达式

Webpack:如何避免导出函数的重命名?

Redis Typescript 删除方法类型转换

如何从mongoose 对象内嵌套的数组中提取数组元素?

每个数组值在 mongodb 中查找一个文档

Angular Build 生产返回致命的 javascript 无效大小错误

在 Atlas 触发器(Node JS)中正确初始化 Firebase 管理 SDK

Mongoose,如何一次更新多个?

如何限制 cron 表单将消息推送到 RabbitMQ?

制作一个接受命令行参数的脚本

与 NPM 一起安装时找不到 Express 模块

socket.io 发出回调合适吗?

Nodejs 随机免费 tcp 端口

从目录 node Js 中检索文件

Puppeteer 等待所有图像加载然后截图

node.js 中的意外保留字导入