首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我一直试图用nextJs和TS在prisma中运行我的种子脚本,并收到以下错误,有什么方法可以解决这个问题吗?

我一直试图用nextJs和TS在prisma中运行我的种子脚本,并收到以下错误,有什么方法可以解决这个问题吗?
EN

Stack Overflow用户
提问于 2022-05-28 07:45:10
回答 2查看 833关注 0票数 4

在package.json中,我添加了以下行:

代码语言:javascript
复制
"prisma": {
    "seed": "ts-node --compiler-options {\"module\":\"CommonJS\"} prisma/seed.ts"
 }

当我运行这个程序时:npx prisma db种子

产出:

运行seed命令时出错:

代码语言:javascript
复制
Error: Command failed with ENOENT: ts-node --compiler-options {"module":"CommonJS"} prisma/seed.ts
spawn ts-node ENOENT
EN

回答 2

Stack Overflow用户

发布于 2022-08-09 07:30:10

此问题可能没有安装ts-node。请检查您的package.json文件,看看是否安装了ts-node

如果没有,只需使用以下方法安装ts-node

npm node@

如果您处于开发模式,则添加-D:

npm i ts-node@ -D

在某些情况下,您可能还需要安装类型记录:

npm打字稿@

票数 1
EN

Stack Overflow用户

发布于 2022-05-30 07:38:46

这似乎是ts-node包的一个问题。解决方法是完全避免ts节点,并创建NPM脚本,直接用tsc编译文件,用节点执行文件,并在文件执行后进行清理。

在您的package.json中,可以添加以下脚本:

代码语言:javascript
复制
"db-seed": "tsc prisma/seed.ts && cat prisma/seed.js | node --input-type=\"commonjs\" && rm prisma/seed.js"

你的“种子”脚本看起来就像

代码语言:javascript
复制
"seed": "npm run db-seed"
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72413834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档