Ошибка утверждения `args [3] -> IsInt32 () ‘ сбой

#node.js #typescript #graphql #prisma #prisma-graphql

#node.js #машинопись #graphql #prisma #prisma-graphql

Вопрос:

  • Версия: v12.19.0
  • Платформа: Linux ayungavis 5.4.0-48-generic # 52 ~ 18.04.1-Ubuntu SMP Чт 10 сентября 12:50:22 UTC 2020 x86_64 x86_64 x86_64 GNU / Linux
  • Подсистема:

Какие шаги будут воспроизводить ошибку?

Я пытался следовать руководству по добавлению базы данных в 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.ts или ts-node src/script.ts .

Требования:

  • @prisma / cli
  • @prisma /клиент

Каково ожидаемое поведение?

Показать все ссылки из базы данных с помощью prisma client.

Что вы видите вместо этого?

Я попытался запустить script.ts using node 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>amp;): 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" amp;amp; 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"
  }
}
  

Комментарии:

1. Я также сталкиваюсь с этим, развертывая heroku. 2020-10-11T05:48:46.590156 00:00 приложение [web.1]: /app/.heroku/node/bin/node[133]: ../src/node_http_parser_impl.h:529:статический недействительный узел::{анонимный}:: Анализатор::Инициализировать (const v8::FunctionCallbackInfo<v8::Value>amp;): Ошибка утверждения `args [3]->IsInt32()’. Похоже, неплохо открыть их на github в качестве проблемы.

2. @Mark yap, я создал проблему в репозитории nodejs. На данный момент вам необходимо понизить версию вашего узла до v12.18.4 или обновить ее v14 .

Ответ №1:

Похоже, что ваша проблема связана с этим. В настоящее время существует проблема с Node.js версия 12.19.0, которую использует Heroku, и есть зависимость с именем undici , которая вызывает проблему. Это должно сработать, если вы попробуете это с узлом 14 в Heroku.

Комментарии:

1. Да, вы правы. Я создал проблему в репозитории nodejs, и ошибка отображается только в узле v12.19.0 . На данный момент я понижаю версию своего узла до v12.18.4 , и она работает правильно. Спасибо за ответ.