错误声明`args [3]-> IsInt32'失败 哪些步骤将重现该错误?它多久复制一次?有条件吗?预期的行为是什么?您看到的是什么?其他信息

问题描述

  • 版本:v12.19.0
  • 平台:Linux ayungavis 5.4.0-48-通用#52〜18.04.1-Ubuntu SMP星期四9月10日12:50:22 UTC 2020 x86_64 x86_64 x86_64 GNU / Linux
  • 子系统

哪些步骤将重现该错误

我试图按照Adding a Database to GraphQL的教程进行操作,这是我的script.ts代码

const { prismaClient } = require("@prisma/client")

const prisma = new prismaClient()

async function main() {
  const allLinks = await prisma.link.findMany()
  console.log(allLinks)
}

main()
  .catch(e => {
    throw e
  })
  .finally(async () => {
    await prisma.disconnect()
  })

它多久复制一次?有条件吗?

每次使用node src/script.tsts-node src/script.ts运行它时。

要求:

预期的行为是什么?

使用pyramida客户端显示数据库中的所有链接

您看到的是什么?

我尝试使用script.tsnode src/script.ts运行ts-node src/script.ts,但显示以下错误

/usr/bin/node[20367]: ../src/node_http_parser_impl.h:529:static void node::{anonymous}::Parser::Initialize(const v8::FunctionCallbackInfo<v8::Value>&): Assertion `args[3]->IsInt32()' Failed.
 1: 0xa17c40 node::Abort() [/usr/bin/node]
 2: 0xa17cbe  [/usr/bin/node]
 3: 0xa3214a  [/usr/bin/node]
 4: 0xc019e9  [/usr/bin/node]
 5: 0xc037d7 v8::internal::Builtin_HandleApiCall(int,unsigned long*,v8::internal::Isolate*) [/usr/bin/node]
 6: 0x1409319  [/usr/bin/node]

其他信息

这是我的package.json文件

{
  "name": "learn","version": "1.0.0","description": "A GraphQL Server from scratch for learning purpose.","main": "index.ts","scripts": {
    "start": "dotenv -- nodemon -e ts,graphql -x ts-node src/index.ts","test": "echo \"Error: no test specified\" && exit 1"
  },"keywords": [],"dependencies": {
    "graphql-yoga": "^1.18.3"
  },"devDependencies": {
    "@prisma/cli": "^2.8.1","@prisma/client": "^2.8.1","@types/node": "^14.11.2","dotenv-cli": "^4.0.0","nodemon": "^2.0.4","ts-node": "^9.0.0","typescript": "^4.0.3"
  }
}

解决方法

您的问题似乎与this有关。当前,Heroku使用的Node.js版本 12.19.0 存在问题,并且有一个名为undici的依赖项引起了该问题。如果您在Heroku中的Node 14上尝试,它应该可以工作。