javascript - 致命错误:CALL_AND_RETRY_LAST 分配失败 - JavaScript 堆内存不足错误
问题描述
运行ng build --prod时出现此错误
92% 块资产优化 <--- 最近几次 GC --->
[4136:0155D210] 443646 ms: Mark-sweep 703.5 (770.3) -> 703.6 (759.8) MB, 2162.2 / 0.0 ms (+ 0.0 ms in 0 step since the start of marking, 最大步长 0.0 ms, walltime 自标记开始 2163 ms) 请求旧空间中的最后手段 GC [4136:0155D210] 445794 ms: 标记扫描 703.6 (759.8) -> 703.5 (759.8) MB, 2147.8 / 0.0 ms 请求旧空间中的最后手段 GC
<--- JS 堆栈跟踪 --->
==== JS 堆栈跟踪 ==========================================
安全上下文: 0369632D 1: create(this=036856A9 ) 2: _walk [034841A1 :~764] [pc=1CCAED1F](this=3A11A619 ,visitor=3BCEFD7D ) 3: /* 匿名 */ [034841A1 :~969] [pc =1D3728E3](this=3A11BCBD) 4: _walk [034841A1:~968] [pc=1CCC1F3B](this=3A11BCBD
致命错误:CALL_AND_RETRY_LAST 分配失败 - JavaScript 堆内存不足 1:node_module_register 2:v8::internal::Factory::NewStruct 3:v8::internal::Factory::NewPrototypeInfo
我什么都试过了。我减少了变量的使用并检查了内存泄漏,并在 ts 文件中进行了非常少的回调。
我无法弄清楚该怎么做。我尝试使用'npm i increase-memory-limit'增加节点内存并将限制增加到2GB。
我使用角度 4。节点版本是 8.9.4
解决方案
尝试导航到您的项目 / node_modules并运行以下命令:
node --max_old_space_size=5048 "%~dp0\..\@angular\cli\bin\ng" build --aot --prod
如果你想让你的生活更轻松,你可以在你的package.json
文件中插入这个:
"scripts": {
"build-prod": "node --max_old_space_size=5048 ./node_modules/@angular/cli/bin/ng build --prod"
}
那么你现在要做的就是运行npm run build-prod
。
推荐阅读
- java - 读取文本文件时输入不匹配
- postgresql - Postgres如何从关系表组中获取上个月的总和?
- visual-studio-code - 1、VS Code中的文件标记是什么
- vue.js - 如何运行这个 Vue 项目?
- grep - 从文件中提取字符串
- google-sheets - 当我更新工作表中的任何单元格时,如何让谷歌工作表自动更新匹配的单元格值
- tesseract - 需要葡萄牙语(葡萄牙)和葡萄牙语(巴西)的 tessdata
- python - Jupyter Notebook 内核死机
- .net - 无法加载文件或程序集“FSharp.Core”
- linux-device-driver - 从 DT 手动触发