Updated on 5月 14, 2019
JavaScript heap out of memory
这几天编译Angular工程总是编译不过,错误提示 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed – JavaScript heap out of memory
随后在Stackoverflow上找到了解决方法,现把解决方法贴出来备忘
在node_modules\\.bin下,对ng.cmd作如下修改
@IF EXIST "%~dp0\\node.exe" ( "%~dp0\\node.exe" --max_old_space_size=8192 "%~dp0\\..\\@angular\\cli\\bin\\ng" %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=8192 "%~dp0\\..\\@angular\\cli\\bin\\ng" %* )
对ngc.cmd作如下修改
@IF EXIST "%~dp0\\node.exe" ( "%~dp0\\node.exe" --max_old_space_size=8192 "%~dp0\\..\\@angular\\compiler-cli\\src\\main.js" %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node --max_old_space_size=8192 "%~dp0\\..\\@angular\\compiler-cli\\src\\main.js" %* )
后记:
之后又不行了,我把.bin下的所有脚本都加上了–max_old_space_size=8192,然并卵。
后来在GitHub上看见一个回复(原文:https://github.com/angular/angular-cli/issues/5618)
在%AppData%\\npm下,找到ng.cmd(Windows),然后加上–max_old_space_size=8192
问题解决。