JavaScript heap out of memory in angular 2

浪子不回头ぞ 提交于 2019-12-22 11:16:05

问题


I am using Angular CLI. Please check my CLI info

@angular/cli: 1.2.1
node: 6.10.0
os: win32 x64
@angular/animations: 4.1.1
@angular/common: 4.0.0
@angular/compiler: 4.0.0
@angular/compiler-cli: 4.0.0
@angular/core: 4.0.0
@angular/forms: 4.0.0
@angular/http: 4.0.0
@angular/platform-browser: 4.0.0
@angular/platform-browser-dynamic: 4.0.0
@angular/router: 4.1.1

When I use ng serve --aot I am getting the following error.

Last few GCs

893427 ms: Mark-sweep 1344.1 (1434.3) -> 1339.9 (1434.3) MB, 925.7 / 0.0 ms [allocation failure] [GC in old space requested]. 894468 ms: Mark-sweep 1339.9 (1434.3) -> 1339.9 (1434.3) MB, 1040.5 / 0.0 ms [allocation failure] [GC in old space requested]. 895402 ms: Mark-sweep 1339.9 (1434.3) -> 1339.6 (1418.3) MB, 933.7 / 0.0 ms [last resort gc]. 896331 ms: Mark-sweep 1339.6 (1418.3) -> 1339.8 (1418.3) MB, 928.1 / 0.0 ms [last resort gc].

JS stack trace

Security context: 000001AF8A2CFB61 2: /* anonymous */ [C:\project_folder\node_modules\source-map\lib\source-node.js:100] [pc=0000016E99866533] (this=00000346870554E1 ,mapping=000003C18FDC93C9 ) 3: arguments adaptor frame: 3->1 4: InnerArrayForEach(aka InnerArrayForEach) [native array.j...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory


回答1:


try to modify the files and replace their contents with the following: (in the folder : node_modules\bin)

Modify ng.cmd:

@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe" --max_old_space_size=5048 "%~dp0\..\angular-cli\bin\ng" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node --max_old_space_size=5048 "%~dp0\..\angular-cli\bin\ng" %*
)

Modify ngc.cmd :

@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe" --max_old_space_size=5048 "%~dp0\..\@angular\compiler-cli\src\main.js" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node --max_old_space_size=5048 "%~dp0\..\@angular\compiler-cli\src\main.js" %*
)



回答2:


for angular 7, I increased the maximum memory allocated for budgets in angular.json file.

"budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "2mb",
                  "maximumError": "11mb"
                }
]

then ran the following command: node --max_old_space_size=10500 'node_modules/@angular/cli/bin/ng' build --prod

in your case you should try to run this: node --max_old_space_size=10500 'node_modules/@angular/cli/bin/ng' serve --aot




回答3:


This issue comes if the angular app will become bigger in size to compile. Please increase your node ram memory that will solve the issue. (Default node ram memory is 1600mb, increase it to around 3200)




回答4:


I had the same issue In my tsconfig.json i had

"include": [ "**/*" ],

after removing this include, the ng build behave normal again



来源:https://stackoverflow.com/questions/45322901/javascript-heap-out-of-memory-in-angular-2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!