更新Prisma Schema后执行npx prisma db seed报错求助
解决
npx prisma db seed 报错 ENOENT: ts-node 问题 错误核心原因
系统无法找到ts-node命令,大概率是未安装该依赖,或是依赖路径未被正确识别。
具体解决方案
全局安装依赖
执行命令全局安装ts-node和typescript:npm install -g ts-node typescript使用Yarn的话:
yarn global add ts-node typescript项目本地安装依赖(推荐)
避免全局依赖冲突,优先在项目内安装开发依赖:npm install --save-dev ts-node typescriptYarn用户执行:
yarn add -D ts-node typescript修正Prisma Schema中的Seed配置
打开prisma/schema.prisma文件,确保seed字段指定正确的ts-node路径。若使用本地依赖,可直接指向项目内的二进制文件:generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" // 替换为你实际使用的数据库类型 url = env("DATABASE_URL") } seed = "./node_modules/.bin/ts-node prisma/seed.ts"单独测试Seed脚本
先跳过Prisma调用,直接运行Seed脚本验证是否正常:npx ts-node prisma/seed.ts若脚本能成功执行,再重新运行
npx prisma db seed。配置tsconfig.json
若项目缺少tsconfig.json,在根目录创建该文件并配置Node兼容的编译选项:{ "compilerOptions": { "target": "ES6", "module": "CommonJS", "esModuleInterop": true, "skipLibCheck": true, "strict": true } }
内容的提问来源于stack exchange,提问作者David Akinola
相关产品推荐
相关产品推荐

