You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NestJS集成Stripe实例化后触发V8致命错误求助

NestJS集成Stripe触发V8致命错误求助

运行npm run start:dev后立即出现以下V8致命错误:

npm run start:dev
[5:05:11 PM] Starting compilation in watch mode...



#
# Fatal error in , line 0
# Fatal JavaScript invalid size error 169220804
#
#
#
#FailureMessage Object: 0x16b0c4ac8
 1: 0x104e4c0e0 node::NodePlatform::GetStackTracePrinter()::$_3::__invoke() [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
 2: 0x105c00f24 V8_Fatal(char const*, ...) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
 3: 0x105088114 v8::internal::FactoryBase<v8::internal::Factory>::NewFixedArrayWithFiller(v8::internal::Handle<v8::internal::Map>, int, v8::internal::Handle<v8::internal::Oddball>, v8::internal::AllocationType) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
 4: 0x1051eefa8 v8::internal::(anonymous namespace)::ElementsAccessorBase<v8::internal::(anonymous namespace)::FastPackedObjectElementsAccessor, v8::internal::(anonymous namespace)::ElementsKindTraits<(v8::internal::ElementsKind)2>>::GrowCapacity(v8::internal::Handle<v8::internal::JSObject>, unsigned int) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
 5: 0x1053c8644 v8::internal::Runtime_GrowArrayElements(int, unsigned long*, v8::internal::Isolate*) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
 6: 0x1056eb8ec Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
 7: 0x10a222f18
 8: 0x10a2273a4
 9: 0x10a225370
10: 0x1056d9a7c Builtins_SetPrototypeForEach [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
11: 0x109a6b424
12: 0x109a6a83c
13: 0x109a66d08
14: 0x109a68860
15: 0x109eb710c
16: 0x10567f578 Builtins_InterpreterEntryTrampoline [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
17: 0x10567f578 Builtins_InterpreterEntryTrampoline [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
18: 0x10567f578 Builtins_InterpreterEntryTrampoline [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
19: 0x10567f578 Builtins_InterpreterEntryTrampoline [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
20: 0x10567f578 Builtins_InterpreterEntryTrampoline [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
21: 0x10567f578 Builtins_InterpreterEntryTrampoline [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
22: 0x1056b0d4c Builtins_GeneratorPrototypeNext [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
23: 0x10567f578 Builtins_InterpreterEntryTrampoline [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
24: 0x1057339d8 Builtins_PromiseFulfillReactionJob [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
25: 0x1056a0f54 Builtins_RunMicrotasks [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
26: 0x10567d244 Builtins_JSRunMicrotasksEntry [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
27: 0x1050407b4 v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
28: 0x105040be8 v8::internal::(anonymous namespace)::InvokeWithTryCatch(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
29: 0x105040cd4 v8::internal::Execution::TryRunMicrotasks(v8::internal::Isolate*, v8::internal::MicrotaskQueue*, v8::internal::MaybeHandle<v8::internal::Object>*) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
30: 0x105063438 v8::internal::MicrotaskQueue::RunMicrotasks(v8::internal::Isolate*) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
31: 0x105063bd0 v8::internal::MicrotaskQueue::PerformCheckpoint(v8::Isolate*) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
32: 0x104d34c48 node::InternalCallbackScope::Close() [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
33: 0x104d347c4 node::InternalCallbackScope::~InternalCallbackScope() [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
34: 0x104df1af0 node::fs::FileHandle::CloseReq::Resolve() [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
35: 0x104e06ce4 node::fs::FileHandle::ClosePromise()::$_0::__invoke(uv_fs_s*) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
36: 0x104deb37c node::MakeLibuvRequestCallback<uv_fs_s, void (*)(uv_fs_s*)>::Wrapper(uv_fs_s*) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
37: 0x10565da94 uv__work_done [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
38: 0x105661244 uv__async_io [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
39: 0x105672de4 uv__io_poll [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
40: 0x1056616d4 uv_run [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
41: 0x104d356c0 node::SpinEventLoop(node::Environment*) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
42: 0x104e28800 node::NodeMainInstance::Run(int*, node::Environment*) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
43: 0x104e284ec node::NodeMainInstance::Run() [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
44: 0x104dc0370 node::Start(int, char**) [/Users/cesargomez/.nvm/versions/node/v16.20.2/bin/node]
45: 0x19ce14274 start [/usr/lib/dyld]
[1]    80633 trace trap  npm run start:dev

相关代码文件

模块文件

import { Module } from '@nestjs/common';
import { PaymentsService } from './payments.service';
import { PaymentsController } from './payments.controller';

@Module({
  controllers: [PaymentsController],
  providers: [PaymentsService],
})
export class PaymentsModule {}

控制器文件

import { Controller, Get, Post } from '@nestjs/common';
import { PaymentsService } from './payments.service';
import { ApiTags } from '@nestjs/swagger';

@ApiTags('Payment Integration')
@Controller('payments')
export class PaymentsController {
  constructor(private readonly paymentsService: PaymentsService) {}

  @Post('create-payment-session')
  createPaymentSession() {
    return 'createPaymentSession';
  }

  @Get('success')
  success() {
    return 'Payment successful';
  }
  @Get('cancel')
  cancel() {
    return 'Payment cancelled';
  }

  @Get('products')
  getAllProducts() {
    return this.paymentsService.getAllProducts();
  }

  @Post('payment-webhook')
  async stripeWebhook() {
    return 'stripeWebhook';
  }
}

服务文件

import { Injectable } from '@nestjs/common';
import Stripe from 'stripe';

@Injectable()
export class PaymentsService {
  private readonly stripe = new Stripe(process.env.STRIPE_API_SECRET_KEY, {
    apiVersion: '2024-09-30.acacia',
  });
  async getAllProducts() {
    const products = await this.stripe.products.list();
    return products.data;
  }
}

已尝试的无效解决方法

  • 更换多个Node.js版本:16.0.0、16.20.2、18.16.0、18.17.1
  • 增加内存限制启动:NODE_OPTIONS="--max-old-space-size=8192" npm run start:dev

额外测试结果

新建空白NestJS项目集成相同Stripe代码,运行npm run start:dev无任何警告或错误,推测问题源于现有项目的其他依赖冲突,但不知如何排查,求帮助。


内容的提问来源于stack exchange,提问作者Cesar Gomez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 17:55:54