node.js - 致命错误:CALL_AND_RETRY_LAST 分配失败 - JavaScript 堆内存不足构建 Angular 应用程序
问题描述
我正在使用 VS Code(带有 Nrwl nx 扩展)来构建 Angular 应用程序。我最初的“服务”有效,但是一旦我做出更改并重建项目,我就开始崩溃,并出现稍后显示的错误堆栈。我必须退出 VS Code,重新启动 VS Code,然后在问题再次发生之前我可以(准确地)获得一份服务。
我在这里阅读了几个问题以及 Github #13734,因此添加了一个 Windows(系统)环境变量 NODE_OPTIONS 设置为 --max-old-space-size=8096。(我以前使用 Node 默认值成功运行过)。我还尝试修改脚本以执行如下所示的操作。
我已经看到有关此错误可能是由垃圾收集失败引起的建议,但由于这发生在构建(“服务”)中,我无法实施建议的步骤来“强制调用 GC”。
以下是因素:
Windows 10
VS Code 1.61.2
node 14.18.1
"@angular/compiler-cli": "^12.2.4",
"@nrwl/angular": "^12.8.0",
"@nrwl/cli": "12.8.0",
package.json:
"scripts": {
"ng": "node --max_old_space_size=8192 ./node_modules/.bin/ng",
"start": "node --max_old_space_size=8192 nx serve",
"build": "node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build",
"build-prod": "node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --prod",
"test": "nx test",
"postinstall": "ngcc --properties es2015 browser module main"
},
npx nx 服务我的应用程序 --poll=2000 --progress
这是错误:
Compiled successfully.
Generating browser application bundles (phase: sealing)...
<--- Last few GCs --->
[2460:00000103CF2FF160] 3313350 ms: Mark-sweep (reduce) 1970.1 (2005.5) -> 1969.3 (2005.8) MB, 643.9 / 0.1 ms (average mu = 0.831, current mu = 0.000) last resort GC in old space requested
[2460:00000103CF2FF160] 3314028 ms: Mark-sweep (reduce) 1969.3 (2004.8) -> 1968.2 (2005.5) MB, 677.9 / 0.1 ms (average mu = 0.690, current mu = 0.000) last resort GC in old space requested
<--- JS stacktrace --->
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: 00007FF6F3B6412F napi_wrap+133311
2: 00007FF6F3AFDD06 SSL_get_quiet_shutdown+63062
3: 00007FF6F3AFEB9D node::OnFatalError+301
4: 00007FF6F43E19CE v8::Isolate::ReportExternalAllocationLimitReached+94
5: 00007FF6F43C67BD v8::SharedArrayBuffer::Externalize+781
6: 00007FF6F426FFCC v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1516
7: 00007FF6F426B3C1 v8::internal::Heap::AllocateExternalBackingStore+1601
8: 00007FF6F4285155 v8::internal::GCIdleTimeHandler::ShouldDoContextDisposalMarkCompact+1029
9: 00007FF6F42855A5 v8::internal::Factory::AllocateRaw+37
10: 00007FF6F4299C1F v8::internal::FactoryBase<v8::internal::Factory>::NewRawTwoByteString+79
11: 00007FF6F408D2B9 v8::internal::String::SlowFlatten+441
12: 00007FF6F3F3BE20 unibrow::Utf8::EncodeOneByte+656
13: 00007FF6F43ED456 v8::String::Utf8Length+22
14: 00007FF6F3B1DA67 v8::internal::Malloced::operator delete+21831
15: 00007FF6F438E9CF v8::internal::Builtins::builtin_handle+322591
16: 00007FF6F438DF64 v8::internal::Builtins::builtin_handle+319924
17: 00007FF6F438E258 v8::internal::Builtins::builtin_handle+320680
18: 00007FF6F438E0A3 v8::internal::Builtins::builtin_handle+320243
19: 00007FF6F446CEDD v8::internal::SetupIsolateDelegate::SetupHeap+474477
20: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
21: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
22: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
23: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
24: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
25: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
26: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
27: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
28: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
29: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
30: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
31: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
32: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
33: 00007FF6F43FCBF9 v8::internal::SetupIsolateDelegate::SetupHeap+14985
34: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
35: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
36: 00007FF6F4402FC2 v8::internal::SetupIsolateDelegate::SetupHeap+40530
37: 00007FF6F4400C7E v8::internal::SetupIsolateDelegate::SetupHeap+31502
38: 00007FF6F440086C v8::internal::SetupIsolateDelegate::SetupHeap+30460
39: 00007FF6F42D09D2 v8::internal::Execution::CallWasm+1650
40: 00007FF6F42D023F v8::internal::Execution::Call+191
41: 00007FF6F43BBB97 v8::Function::Call+615
42: 00007FF6F3B90D1B node::CallbackScope::~CallbackScope+1723
43: 00007FF6F3B91181 node::MakeCallback+209
44: 00007FF6F3B51900 napi_wrap+57488
45: 00007FF6F3BB6328 uv_check_init+120
46: 00007FF6F3BC0F18 uv_run+664
47: 00007FF6F3AB8A45 v8::internal::AsmJsScanner::GetIdentifierString+51749
48: 00007FF6F3B31227 node::Start+311
49: 00007FF6F398685C RC4_options+339804
50: 00007FF6F49414F8 v8::internal::compiler::RepresentationChanger::Uint32OverflowOperatorFor+14424
51: 00007FFAB4FB7034 BaseThreadInitThunk+20
52: 00007FFAB5D62651 RtlUserThreadStart+33
谢谢你。
解决方案
推荐阅读
- react-native - 带有有效负载 {"name":"EditProfileScreen"} 的操作 'NAVIGATE' 未被任何导航器处理
- python - 枚举数据加载器时无法访问所有数据
- isabelle - 如何在 Isabelle 中陈述关于 equiv 的引理
- json - 如何通过从 txt 文件中读取字典列表来创建 Pandas DataFrame?
- python - 我应该如何增强我的代码对项目 euler 问题 21 的工作?
- java - 如何确保注释处理器始终应用于所有带注释的元素?
- html - 脸书视频分享
- python - Python中的日期格式,带有偏移量和小时和分钟
- r - 如何将内置函数名称存储在 Vector 中并通过 R 中的循环进行解析
- html - 移动设备上的问题:HTML 标记不起作用